Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

CellHit.h

Go to the documentation of this file.
00001 
00002 // $Id: CellHit.h,v 1.10 2008/09/03 10:35:47 niki Exp $
00003 //
00004 // Definition of calibrated Cell Hit
00005 //
00006 // shanahan@fnal.gov
00007 //
00009 
00010 #ifndef CELLHIT_H
00011 #define CELLHIT_H
00012 
00013 #include "TObject.h"
00014 
00015 namespace recobase {
00016   
00018   typedef enum ECellHit {
00019     kRAW = 0,
00020     kPE =  1,
00021     kPEAC= 2,
00022     kMIP = 3,
00023     kTNS = 8,
00024     kTT0 = 9,
00025     kTTrans = 10
00026   } CellHit_t;
00027   
00028 
00031   class CellHit : public TObject
00032     {
00033 
00034     public:
00035       CellHit(); // Default constructor
00036       CellHit(unsigned int channel, unsigned int adc, unsigned int tdc);
00037       ~CellHit();
00038 
00040       void SetADC(unsigned short adc){fADC=adc; fStatus|=1<<kRAW;};
00041 
00043       void SetPE(float pe){fPE=pe; fStatus|=1<<kPE;}; 
00044 
00046       void SetPEAC(float pe){fPEAC=pe; fStatus|=1<<kPEAC;}; 
00047 
00049       void SetMIP(float mip){fMIP=mip; fStatus|=1<<kMIP;}; 
00050 
00052       void SetTDC(unsigned short tdc){fTDC=tdc; fStatus|=1<<kRAW;};
00053 
00055       void SetTNS(double ns){fTNS=ns; fStatus|=1<<kTNS;}; 
00056 
00058       void SetTT0(double t){fTT0=t; fStatus|=1<<kTT0;};
00059 
00061       void SetTTrans(double t){fTTrans=t; fStatus|=1<<kTTrans;};
00062 
00063       
00064       bool ADC(unsigned short &a) ; 
00065 
00071       bool PE(float &a);                         
00072       bool PEAC(float &a);                       
00073       bool MIP(float &a);                        
00074 
00075       bool TDC(unsigned short &t) ;              
00076       bool TNS(double &t);                       
00077       bool TT0(double &t);                       
00078       bool TTrans(double &t);                    
00079 
00080       unsigned int Status()  {return fStatus;};  
00081       unsigned int Channel() {return fChannel;}; 
00082 
00083         //added by steve for temp use by cluster code
00084         
00085       void SetCell (unsigned int cell) {fCell=cell;}
00086       void SetPlane(unsigned int plane){fPlane=plane;}
00087       unsigned int Cell() const{return fCell;}
00088       unsigned int Plane()const{return fPlane;}
00089        
00090       // N.S 08/25/08
00091        
00092       void SetZCPos (double zcpos)     {fZCPos = zcpos;} 
00093       void SetTCpos (double tcpos)     {fTCPos = tcpos;} 
00094       void SetPLVC  (unsigned int plvc){fPLVC  = plvc;}  
00095       
00096       double       ZCPos() const {return fZCPos ;}
00097       double       TCPos() const {return fTCPos ;}
00098       unsigned int PLVC () const {return fPLVC;}
00099       
00100     private:
00101 
00102       unsigned short fADC;      
00103       float fPE;                
00104       float fPEAC;              
00105       float fMIP;               
00106 
00107       unsigned short fTDC;      
00108       double fTNS;              
00109       double fTT0;              
00110       double fTTrans;           
00111 
00112       unsigned short fStatus;   
00113       unsigned int fChannel;    
00114 
00115       unsigned int fCell;
00116       unsigned int fPlane;
00117 
00118       // N.S 08/25/08
00119  
00120       double fZCPos;
00121       double fTCPos;
00122       unsigned int fPLVC;
00123        
00124       ClassDef(CellHit, 1) // Calibrated Cell Hit
00125     };
00126 }
00127 
00128 #endif // CELLHIT_H
00129 

Generated on Thu Sep 4 02:05:26 2008 for NOvA Offline by doxygen 1.3.5