hi -

it has long been that the methods that dereference a const
datavector&lt;t&gt; (operator[], etc), return a `const t*',
even though the value_type is `t*'.

however, datavector&lt;t&gt;::const_iterator has been inconsistent with this,
in that dereferencing the iterator returns a `t*'.

we are trying to change this feature of datavector::const_iterator, so that
dereferencing it will also return a `const t*', consistent with
datavector.  we hope this will help catch instances where
data objects are unintentionally modified.

these changes are in datamodel-00-23-21.
unfortunately, this requires some changes in client packages.

here are the changes in muidparticlecreator that were required to be
compatible with these changes.


+verbatim+
index: src/muidcombinedtpamcreator.cxx
===================================================================
--- src/muidcombinedtpamcreator.cxx	(revision 447210)
+++ src/muidcombinedtpamcreator.cxx	(working copy)
@@ -329,7 +329,7 @@
 	if (! (**mm).indettrack())	continue;
 	
 	// associate extrapolated muon
-	analysis::muon* extrapolatedmuon = 0;
+	const analysis::muon* extrapolatedmuon = 0;
 	for (analysis::muoncontainer::const_iterator em = extrapolatedmuons-&gt;begin(); 
 	     em != extrapolatedmuons-&gt;end();
 	     ++em)
@@ -345,7 +345,7 @@
 	}
 
 	// associate spectrometer particle
-	rec::trackparticle * spectrometerparticle = 0;
+	const rec::trackparticle * spectrometerparticle = 0;
 	for (rec::trackparticlecontainer::const_iterator sp = spectrometerparticles-&gt;begin(); 
 	     sp != spectrometerparticles-&gt;end();
 	     ++sp)
@@ -360,7 +360,7 @@
 
 	
 	// association indet particle
-	rec::trackparticle * indetparticle = 0;
+	const rec::trackparticle * indetparticle = 0;
 	for (rec::trackparticlecontainer::const_iterator ip = indetparticles-&gt;begin(); 
 	     ip != indetparticles-&gt;end();
 	     ++ip)
-verbatim-
