Print

Print


Commit in lcio/src/cpp/src on MAIN
TESTS/test_trackerhit.cc+151.3 -> 1.4
UTIL/LCTOOLS.cc+8-21.68 -> 1.69
    /Operators.cc+101.10 -> 1.11
+33-2
3 modified files
bug fix: covMatrix in TrackerHit not being printed with dumpevent

lcio/src/cpp/src/TESTS
test_trackerhit.cc 1.3 -> 1.4
diff -u -r1.3 -r1.4
--- test_trackerhit.cc	17 Jun 2010 12:29:00 -0000	1.3
+++ test_trackerhit.cc	15 Nov 2010 16:58:01 -0000	1.4
@@ -13,6 +13,8 @@
 #include "IMPL/TrackerHitImpl.h"
 #include "IMPL/LCFlagImpl.h"
 
+//#include "UTIL/Operators.h"
+
 //#include <iostream>
 
 using namespace std ;
@@ -63,6 +65,10 @@
                 trkHit->setEDepError( (i+j)*.3 ) ;
                 double pos[3] = { i, j, i*j } ;
                 trkHit->setPosition( pos ) ;
+
+                float cov[3] = { i, j, i+j } ;
+                trkHit->setCovMatrix( cov );
+
                 trkHits->addElement( trkHit ) ;
             }
             evt->addCollection( trkHits , "TrackerHits") ;
@@ -100,6 +106,8 @@
 
                 TrackerHit* trkHit = dynamic_cast<TrackerHit*>(trkHits->getElementAt(j)) ;
 
+                //std::cout << *trkHit << std::endl ;
+
                 //MYTEST( trkHit->getEDep() ,  i*j*117. , "EDep" ) ;
                 MYTEST( trkHit->getdEdx() ,  i*j*117. , "dEdx" ) ;
                 // remove float converstion and check what happens ;)
@@ -112,6 +120,13 @@
                 MYTEST( pos[1] , j , " pos[1] " ) ;
                 MYTEST( pos[2] , i*j , " pos[2] " ) ;
 
+
+                const FloatVec& cov = trkHit->getCovMatrix() ;
+
+                MYTEST( cov[0] , i , " cov[0] " ) ;
+                MYTEST( cov[1] , j , " cov[1] " ) ;
+                MYTEST( cov[2] , i+j , " cov[2] " ) ;
+
             }
         }
         lcRdr->close() ;

lcio/src/cpp/src/UTIL
LCTOOLS.cc 1.68 -> 1.69
diff -u -r1.68 -r1.69
--- LCTOOLS.cc	18 Jun 2010 13:43:14 -0000	1.68
+++ LCTOOLS.cc	15 Nov 2010 16:58:02 -0000	1.69
@@ -430,7 +430,7 @@
     int nPrint = nHits > MAX_HITS ? MAX_HITS : nHits ;
     
     std::cout << endl
-	      << " [   id   ] | position (x,y,z)                | time      |type |   EDep    | EDepError" 
+	      << " [   id   ] | position (x,y,z)                | time      |type |   EDep    | EDepError | cov(x,x), cov(y,x), cov(y,y), cov(z,x), cov(z,y), cov(z,z)"
 	      << endl 
 	      << endl ;
     
@@ -444,7 +444,7 @@
       // 	rawHitId = hit->getRawDataHit()->id()  ;
       
       //printf(" [%8.8x] | (%5.3e,%5.3e,%5.3e) | %5.3e | %5.3e | [%d] | %4.3e | %4.3e \n" 
-      printf(" [%8.8x] | (%5.3e,%5.3e,%5.3e) | %5.3e | [%d] | %4.3e | %4.3e \n" 
+      printf(" [%8.8x] | (%5.3e,%5.3e,%5.3e) | %5.3e | [%d] | %4.3e | %4.3e |" 
 	     , hit->id() 
 	     , hit->getPosition()[0] 
 	     , hit->getPosition()[1] 
@@ -456,6 +456,12 @@
          , hit->getEDepError()
 	     ) ;
 
+      for( unsigned int j=0; j < (hit->getCovMatrix().size()-1); j++ ){
+        printf(" %4.2e,", hit->getCovMatrix()[j] ) ;
+      }
+      printf( " %4.2e\n", hit->getCovMatrix()[ hit->getCovMatrix().size() ] ) ;
+
+
       const LCObjectVec& rawHits = hit->getRawHits() ;
       cout << "    rawHits: " ;
       try{

lcio/src/cpp/src/UTIL
Operators.cc 1.10 -> 1.11
diff -u -r1.10 -r1.11
--- Operators.cc	24 Sep 2010 11:13:20 -0000	1.10
+++ Operators.cc	15 Nov 2010 16:58:02 -0000	1.11
@@ -2191,6 +2191,16 @@
     out << setw(30) << left << "E_deposited " << setfill(' ') << right << setw(40) << hit->getEDep() << endl;
     out << setw(30) << left << "Time " << setfill(' ') << right << setw(40) << hit->getTime() << endl;
     out << setw(30) << left << "Type " << setfill(' ') << right << setw(40) << hit->getType() << endl;
+
+    out << "Covariance of the position (x,y,z):" << endl ;
+    out << "   cov(x,x) , cov(y,x) , cov(y,y) , cov(z,x) , cov(z,y) , cov(z,z)" << endl ;
+
+    out << "   " << scientific << setprecision(2) ;
+    for( unsigned int i=0 ; i < (hit->getCovMatrix().size() - 1) ; i++ ){
+        out << hit->getCovMatrix()[i] << " , ";
+    }
+    out << hit->getCovMatrix()[ hit->getCovMatrix().size() ] << endl ;
+ 
     out << noshowpos;
 
     setflags(out, flags);
CVSspam 0.2.8