/data3/calcul/jacquem/working_dir/Micromegas/micromegasFrameWork/lcio/src/cpp/src/IMPL/TrackImpl.cc

Go to the documentation of this file.
00001 #include "IMPL/TrackImpl.h"
00002 
00003 
00004 using namespace EVENT ;
00005 
00006 namespace IMPL {
00007   
00008   TrackImpl::TrackImpl() :
00009     _type(0),
00010     _d0(0),
00011     _phi(0),
00012     _omega(0),
00013     _z0(0),
00014      _tanLambda(0),
00015     _isReferencePointPCA(0),
00016     _chi2(0),
00017     _ndf(0),
00018     _dEdx(0),
00019     _dEdxError(0),
00020     _radiusOfInnermostHit(0) { 
00021 
00022     for(int i=0 ; i < NCOVMATRIX ; i++ ) {
00023       _covMatrix.push_back( 0.0 ) ; 
00024     }
00025     _reference[0] = 0.0 ;
00026     _reference[1] = 0.0 ;
00027     _reference[2] = 0.0 ;
00028 
00029     _type.set( BIT_ISREFERENCEPOINTDCA ) ;
00030 
00031   }
00032 
00033   TrackImpl::~TrackImpl() { 
00034 
00035 //     for( IndexMap::const_iterator iter = _indexMap.begin() ; iter != _indexMap.end() ; iter++ ){
00036 //       delete iter->second ;
00037 //     }
00038 
00039   } 
00040 
00041   //  const std::string & TrackImpl::getType() const { return _type ; }
00042 
00043   int TrackImpl::getType() const { return _type.to_ulong() ; }
00044 
00045 //   bool TrackImpl::testType(int bitIndex) const {
00046 //     return _type.test( bitIndex ) ;
00047 //   }
00048 
00049   float TrackImpl::getD0() const { return _d0 ;}
00050   float TrackImpl::getPhi() const { return _phi ; }
00051   float TrackImpl::getOmega() const { return _omega ; }
00052   float TrackImpl::getZ0() const { return _z0 ;}
00053   float TrackImpl::getTanLambda() const { return _tanLambda ;}
00054 
00055   const FloatVec& TrackImpl::getCovMatrix() const { return _covMatrix ; }
00056   const float* TrackImpl::getReferencePoint() const { return _reference ; }
00057 
00058   bool  TrackImpl::isReferencePointPCA() const { 
00059     //    return _isReferencePointPCA ;
00060     return _type.test( BIT_ISREFERENCEPOINTDCA ) ;
00061   }
00062 
00063   float TrackImpl::getChi2() const { return _chi2 ;}
00064   int   TrackImpl::getNdf() const { return _ndf ;}
00065   float TrackImpl::getdEdx() const { return _dEdx ; }
00066   float TrackImpl::getdEdxError() const { return _dEdxError ; }
00067 
00068 
00069   float TrackImpl::getRadiusOfInnermostHit() const {
00070     return _radiusOfInnermostHit ;
00071   }
00072 
00073   const IntVec & TrackImpl::getSubdetectorHitNumbers() const {
00074     return _subdetectorHitNumbers ;
00075   }
00076   const TrackerHitVec & TrackImpl::getTrackerHits() const {
00077     return _hits ;
00078   }
00079 
00080   const TrackVec & TrackImpl::getTracks() const {
00081     return _tracks ;
00082   } 
00083   
00084   void  TrackImpl::setTypeBit( int  index, bool val){  
00085     checkAccess("TrackImpl::setTypeBit") ;
00086     _type.set( index, val  )  ;
00087   }
00088 
00089   //  void  TrackImpl::setType( const std::string&  type ){  
00090   void  TrackImpl::setType( int  type ){  
00091     checkAccess("TrackImpl::setType") ;
00092    
00093 //     int highWord = ( _type.to_ulong() & 0xFFFF0000 ) ;
00094 //     int lowWord = ( 0x0000FFFF & type ) ;
00095 //     _type = highWord | lowWord ; 
00096 
00097     _type = type ;
00098   } 
00099 
00100   void  TrackImpl::setD0( float d0 ){
00101     checkAccess("TrackImpl::setD0") ;
00102     _d0 = d0  ;
00103   } 
00104   void  TrackImpl::setPhi( float phi ){ 
00105     checkAccess("TrackImpl::setPhi") ;
00106     _phi = phi ; 
00107   } 
00108   void  TrackImpl::setOmega( float omega ) { 
00109     checkAccess("TrackImpl::setOmega") ;
00110     _omega = omega  ;
00111   } 
00112   void  TrackImpl::setZ0( float z0 ){
00113     checkAccess("TrackImpl::setZ0") ;
00114     _z0 = z0 ; 
00115   } 
00116   void  TrackImpl::setTanLambda( float tanLambda ){
00117     checkAccess("TrackImpl::setTanLambda") ;
00118     _tanLambda = tanLambda ; 
00119   } 
00120 
00121 
00122   void  TrackImpl::setCovMatrix( float* cov ){ 
00123     checkAccess("TrackImpl::setCovMatrix") ;
00124     for(int i=0;i<NCOVMATRIX;i++) {
00125       _covMatrix[i] = cov[i]  ; 
00126     }
00127   } 
00128   void  TrackImpl::setCovMatrix( const FloatVec& cov ){ 
00129     checkAccess("TrackImpl::setCovMatrix") ;
00130     for(int i=0;i<NCOVMATRIX;i++) {
00131       _covMatrix[i] = cov[i]  ; 
00132     }
00133   } 
00134   
00135   void  TrackImpl::setReferencePoint( float* rPnt){ 
00136     checkAccess("TrackImpl::setReferencePoint") ;
00137     for(int i=0;i<3;i++) {
00138       _reference[i] = rPnt[i]  ; 
00139     }
00140   } 
00141 
00142   void  TrackImpl::setIsReferencePointPCA( bool val){ 
00143     checkAccess("TrackImpl::setIsReferencePointPCA") ;
00144     //    _isReferencePointPCA = val ;
00145     _type.set( BIT_ISREFERENCEPOINTDCA , val ) ;
00146 
00147   } 
00148 
00149   void  TrackImpl::setChi2( float chi2 ){ 
00150     checkAccess("TrackImpl::setChi2") ;
00151     _chi2 = chi2 ; 
00152   } 
00153   void  TrackImpl::setNdf( int ndf ){ 
00154     checkAccess("TrackImpl::setNdf") ;
00155     _ndf = ndf  ; 
00156   } 
00157   void  TrackImpl::setdEdx( float dEdx ){ 
00158     checkAccess("TrackImpl::setdEdx") ;
00159     _dEdx = dEdx ; 
00160   } 
00161   void  TrackImpl::setdEdxError( float dEdxError ){
00162     checkAccess("TrackImpl::setdEdxError") ;
00163     _dEdxError = dEdxError  ;
00164   }   
00165 
00166   void TrackImpl::addHit( TrackerHit* hit) {
00167     _hits.push_back( hit ) ;
00168   }
00169 
00170   void  TrackImpl::addTrack( EVENT::Track* trk ) {
00171     checkAccess("TrackImpl::addTrack") ;
00172     _tracks.push_back( trk ) ;
00173   }
00174 
00175   IntVec & TrackImpl::subdetectorHitNumbers(){
00176     checkAccess("TrackImpl::subdetectorHitNumbers") ;
00177     return _subdetectorHitNumbers ;
00178   }
00179 
00180   void  TrackImpl::setRadiusOfInnermostHit( float r ){
00181     checkAccess("TrackImpl::setRadiusOfInnermostHit") ;
00182     _radiusOfInnermostHit = r ;
00183   }
00184 
00185 } // namespace IMPL
00186 
00187 

Generated on Mon Jan 7 13:15:21 2013 for MicromegasFramework by  doxygen 1.4.7