Commit in lcio/src/cpp on MAIN
include/UTIL/BitField64.h+8-11.2 -> 1.3
src/UTIL/BitField64.cc+131.1 -> 1.2
+21-1
2 modified files
extended for CEllIDEncoder

lcio/src/cpp/include/UTIL
BitField64.h 1.2 -> 1.3
diff -u -r1.2 -r1.3
--- BitField64.h	21 Mar 2006 15:41:02 -0000	1.2
+++ BitField64.h	22 Mar 2006 17:40:32 -0000	1.3
@@ -88,7 +88,7 @@
     const std::string& name() const { return _name ; }
 
     /** The field's offset */
-    int offset() const { return _offset ; }
+    unsigned offset() const { return _offset ; }
 
     /** The field's width */
     unsigned width() const { return _width ; }
@@ -183,6 +183,13 @@
       return *_fields.at( index )  ; 
     }
 
+    /** Highest bit used in fields [0-63]
+     */
+    unsigned highestBit() ;
+    
+    /** Number of values */
+    size_t size() { return _fields.size() ; }
+
     /** Index for field named 'name' 
      */
     size_t index( const std::string& name) ;

lcio/src/cpp/src/UTIL
BitField64.cc 1.1 -> 1.2
diff -u -r1.1 -r1.2
--- BitField64.cc	10 Mar 2006 16:23:19 -0000	1.1
+++ BitField64.cc	22 Mar 2006 17:40:32 -0000	1.2
@@ -103,6 +103,19 @@
       throw Exception(" BitFieldValue: unknown name: " + name ) ;
   }
   
+  unsigned BitField64::highestBit() {
+
+    unsigned hb(0) ;
+
+    for(unsigned i=0;i<_fields.size();i++){
+
+      if( hb < ( _fields[i]->offset() + _fields[i]->width() ) )
+	hb = _fields[i]->offset() + _fields[i]->width()  ;
+    }    
+    return hb ;
+  }
+
+
   std::string BitField64::valueString() const {
 
     std::stringstream  os ;
CVSspam 0.2.8