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

emcTowerContentv1M.h

Go to the documentation of this file.
00001 #ifndef __EMCTOWERCONTENTV1M_H__
00002 #define __EMCTOWERCONTENTV1M_H__
00003 
00004 #ifndef __EMCTOWERCONTENT_H__
00005 #include "emcTowerContent.h"
00006 #endif
00007 
00012 class emcTowerContentv1M : public emcTowerContent 
00013 {
00014 
00015 public:
00016 
00017   emcTowerContentv1M();
00018   emcTowerContentv1M(const emcTowerContentv1M&);
00019   emcTowerContentv1M& operator=(const emcTowerContentv1M&);
00020 
00021   virtual ~emcTowerContentv1M();
00022 
00023   emcTowerContentv1M* clone() const { return new emcTowerContentv1M(*this); }
00024   emcTowerContentv1M* create() const { return new emcTowerContentv1M; }
00025 
00026   int ADC(void) const { return fADC; }
00027   
00028   int AMUPre(void) const { return fAMUPre; }
00029   
00030   int AMUPost(void) const { return fAMUPost; }
00031   
00032   int AMUTAC(void) const { return fAMUTAC; }
00033   
00034   int BeamClock(void) const { return fBeamClock; }
00035   
00036   int Channel(void) const { return fChannel; }
00037   
00038   int DataError(void) const { return fDataError; }
00039   
00040   float Energy(void) const { return fEnergy; }
00041   
00042   unsigned int ErrorNeighbours(void) const { return fErrorNeighbours; }
00043   
00044   int FEM(void) const { return fFEM; }
00045   
00046   bool hasCalib(void) const { return fHasCalib; }
00047   bool hasDC(void) const { return fHasDC; }
00048   bool hasGain(void) const { return fHasGain; }
00049   bool hasMerSimStatus(void) const { return true; }
00050   bool hasRaw(void) const { return fHasRaw; }
00051 
00052   bool canHaveCalib() const { return true; }
00053   bool canHaveDC() const { return true; }
00054   bool canHaveGain() const { return true; }
00055   bool canHaveRaw() const { return true; }
00056   bool canHaveMerSimStatus() const { return true; }
00057 
00058   int HG(void) const { return fHG; }
00059   int HGPost(void) const { return fHGPost; }
00060   int HGPre(void) const { return fHGPre; }
00061   
00062   float Gain(void) const { return fGain; }
00063 
00064   void identify(std::ostream& os=std::cout) const;
00065   
00066   int isValid() const;
00067 
00068   bool isSimulated(void) const { return fIsSimulated; }
00069 
00070   bool isMerged(void) const { return fIsMerged; }
00071 
00072   bool isZero(void) const;
00073   
00074   int LG(void) const { return fLG; }
00075   int LGPost(void) const { return fLGPost; }
00076   int LGPre(void) const { return fLGPre; }
00077   
00078   void print(std::ostream& out=std::cout, int level=0) const;
00079   
00080   void Reset();
00081   
00082   void SetADCTDC(int adc, int tdc, int hg=0, int lg=0);
00083   
00084   void SetCalibrated(float energy, float tof);
00085   
00086   void SetDataError(int dataerror);
00087 
00088   void SetGain(float gain);
00089 
00090   void SetID(int fem, int channel);
00091 
00092   void SetNeighbours(unsigned int error, unsigned int warning);
00093 
00094   void SetMerSimStatus(bool ismerged, bool issimulated);
00095 
00096   void SetRaw(int hgpost, int hgpre, 
00097               int lgpost, int lgpre,
00098               int tac,
00099               int amupre=0,
00100               int amupost=0,
00101               int amutac=0,
00102               int beamclock=0);
00103 
00104   void SetSimFrac(float simfrac); 
00105 
00106   void SetToF(float tof);
00107 
00108   float SimFrac() const { return fSimFrac; }
00109 
00110   int TAC(void) const { return fTAC; }
00111   int TDC(void) const { return fTDC; }
00112   float ToF(void) const { return fTOF; }
00113   float UncorrectedToF(void) const { return fUncorrectedTOF; }
00114 
00115   int TowerID(void) const { return fTowerID; }
00116   
00117   unsigned int WarnNeighbours(void) const { return fWarnNeighbours; }
00118   
00119   void Zero(void);
00120   
00121 private:
00122   void copyTo(emcTowerContentv1M& dest) const;
00123 
00124 private:
00125   
00126   bool fHasCalib;
00127   bool fHasDC;
00128   bool fHasGain;
00129   bool fHasRaw;
00130   bool fIsMerged;
00131   bool fIsSimulated;
00132   int fFEM;
00133   int fChannel;
00134   int fDataError;
00135   unsigned int fErrorNeighbours;
00136   unsigned int fWarnNeighbours;
00137   int fHGPost;
00138   int fHGPre;
00139   int fLGPost;
00140   int fLGPre;
00141   int fTAC;
00142   int fTDC;
00143   int fADC;
00144   int fHG;
00145   int fLG;
00146   int fTowerID;
00147   int fBeamClock;
00148   short fAMUPre;
00149   short fAMUPost;
00150   short fAMUTAC;
00151   float fEnergy;
00152   float fTOF;
00153   float fGain;
00154   float fSimFrac;
00155   float fUncorrectedTOF;
00156 
00158   static float fEnergyThreshold;
00159 
00160   ClassDef(emcTowerContentv1M,1) // EMCAL Tower data Version 1 (Possibly Merged)
00161 };
00162 
00163 #endif

Generated on Sun May 18 03:34:04 2008 for EMCAL Reconstruction by  doxygen 1.3.9.1