lcio/doc
diff -u -r1.51 -r1.52
--- versions.readme 21 Sep 2006 06:10:34 -0000 1.51
+++ versions.readme 13 Nov 2006 17:21:18 -0000 1.52
@@ -3,6 +3,12 @@
---------------------------------------------------------------
=====================
+v01-08-beta
+=====================
+
+ - fixed bug with BitField64/CellIdDecoder
+
+=====================
v01-08-vtx BETA-NON-PRODUCTION-RELEASE !!!!
=====================
lcio/src/cpp/include/UTIL
diff -u -r1.3 -r1.4
--- BitField64.h 22 Mar 2006 17:40:32 -0000 1.3
+++ BitField64.h 13 Nov 2006 17:21:19 -0000 1.4
@@ -79,10 +79,11 @@
*/
operator lcio::long64() const { return value() ; }
- /** Conversion operator for int - allows to write:<br>
+ /** fg: removed because it causes ambiguities with operator lcio::long64().
+ * Conversion operator for int - allows to write:<br>
* int index = myBitFieldValue ;
*/
- operator int() const { return (int) value() ; }
+ // operator int() const { return (int) value() ; }
/** The field's name */
const std::string& name() const { return _name ; }
@@ -192,7 +193,7 @@
/** Index for field named 'name'
*/
- size_t index( const std::string& name) ;
+ size_t index( const std::string& name) const ;
/** Access to field through name .
*/
@@ -200,7 +201,14 @@
return *_fields[ index( name ) ] ;
}
-
+ /** Const Access to field through name .
+ */
+ const BitFieldValue& operator[](const std::string& name) const {
+
+ return *_fields[ index( name ) ] ;
+ }
+
+
/** The low word, bits 0-31
*/
unsigned lowWord() const { return unsigned( _value & 0xffffFFFF ) ; }
lcio/src/cpp/src/UTIL
diff -u -r1.2 -r1.3
--- BitField64.cc 22 Mar 2006 17:40:32 -0000 1.2
+++ BitField64.cc 13 Nov 2006 17:21:19 -0000 1.3
@@ -91,9 +91,9 @@
- size_t BitField64::index( const std::string& name){
+ size_t BitField64::index( const std::string& name) const {
- IndexMap::iterator it = _map.find( name ) ;
+ IndexMap::const_iterator it = _map.find( name ) ;
if( it != _map.end() )
lcio/src/cpp/src/UTIL
diff -u -r1.50 -r1.51
--- LCTOOLS.cc 21 Sep 2006 06:10:45 -0000 1.50
+++ LCTOOLS.cc 13 Nov 2006 17:21:19 -0000 1.51
@@ -900,7 +900,11 @@
) ;
}
std::cout << " id-fields: (" << idDecoder( hit ).valueString() << ")" << std::endl ;
-
+
+ //-------- example : acessing cell id components, e.g. layer:
+// int layer = idDecoder( hit )["K-1"] + 1 ;
+// cout << " ---- debug --- hit layer : " << layer << std::endl ;
+
for(int k=0;k < hit->getNMCContributions();k++){
try{