CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/src/DataFormats/MuonReco/interface/MuonTimeExtra.h

Go to the documentation of this file.
00001 #ifndef MuonReco_MuonTimeExtra_h
00002 #define MuonReco_MuonTimeExtra_h
00003 
00014 namespace reco {
00015  
00016   class MuonTimeExtra {
00017     public:
00018       MuonTimeExtra();
00019 
00020       enum Direction { OutsideIn = -1, Undefined = 0, InsideOut = 1 };
00021 
00023       int nDof() const { return nDof_; };
00024       void setNDof( const int nDof ) { nDof_=nDof; };
00025        
00028       float inverseBeta()    const { return inverseBeta_; };
00029       float inverseBetaErr() const { return inverseBetaErr_; };
00030       void setInverseBeta( const float iBeta ) { inverseBeta_=iBeta; };
00031       void setInverseBetaErr( const float iBetaErr) { inverseBetaErr_=iBetaErr; };
00032        
00037       float freeInverseBeta()    const { return freeInverseBeta_; };
00038       float freeInverseBetaErr() const { return freeInverseBetaErr_; };
00039       void setFreeInverseBeta( const float iBeta ) { freeInverseBeta_=iBeta; };
00040       void setFreeInverseBetaErr( const float iBetaErr) { freeInverseBetaErr_=iBetaErr; };
00041 
00044       float timeAtIpInOut()    const { return timeAtIpInOut_; }; 
00045       float timeAtIpInOutErr() const { return timeAtIpInOutErr_; };
00046       void setTimeAtIpInOut( const float timeIp )     { timeAtIpInOut_=timeIp; }; 
00047       void setTimeAtIpInOutErr( const float timeErr ) { timeAtIpInOutErr_=timeErr; };
00049       float timeAtIpOutIn()    const { return timeAtIpOutIn_; };
00050       float timeAtIpOutInErr() const { return timeAtIpOutInErr_; };
00051       void setTimeAtIpOutIn( const float timeIp )     { timeAtIpOutIn_=timeIp; }; 
00052       void setTimeAtIpOutInErr( const float timeErr ) { timeAtIpOutInErr_=timeErr; };
00053        
00055       Direction direction() const
00056       {
00057         if (nDof_<2) return Undefined;
00058         if ( timeAtIpInOutErr_ > timeAtIpOutInErr_ ) return OutsideIn;
00059         return InsideOut;
00060       }
00061      
00062     private:
00063 
00065       int nDof_;
00066        
00068       float inverseBeta_;
00069       float inverseBetaErr_;
00070        
00072       float freeInverseBeta_;
00073       float freeInverseBetaErr_;
00074 
00076       float timeAtIpInOut_;
00077       float timeAtIpInOutErr_;
00078       float timeAtIpOutIn_;
00079       float timeAtIpOutInErr_;
00080       
00081   };
00082 
00083 }
00084 
00085 #endif