PbScSector.h

Go to the documentation of this file.
00001 #ifndef __PBSCSECTOR_H__
00002 #define __PBSCSECTOR_H__
00003 
00004 #include <Rtypes.h>
00005 #ifndef __EMCSECTOR_H__
00006 #include "EmcSector.h"
00007 #endif
00008 
00009 #include <vector>
00010 
00011 class PHTimeStamp;
00012 
00032 class PbScSector: public EmcSector
00033 {
00034  public:
00035 
00036   PbScSector(int &, PHTimeStamp* ts = 0 );
00037 
00038   virtual ~PbScSector();
00039 
00041   virtual EmcSuperModule * getSuperModule(int SMNumber) {
00042     return SM[SMNumber];
00043   }
00044 
00047   virtual void GetEnergyCalibration(int, float&, float&, float&);  
00048 
00049   void CorrectEnergyCalibration(const char * fname);
00050 
00051   static size_t GetSize(void) { return fgSize; }
00052   static size_t size(void) { return GetSize(); }
00053   static size_t Size(void) { return GetSize(); }
00054 
00055   static size_t NumberOfSuperModules(void) { 
00056     return fgNumberOfSuperModules; 
00057   }
00058 
00059  private:
00060 
00061   void BuildFromFiles(void);
00062   void BuildFromDB(PHTimeStamp*);
00063   void Reset(void);
00064 
00065  protected:
00066 
00067   std::vector<EmcSuperModule*> SM;
00068   std::vector<float> fECalib; //  Energy calibration (GeV/ADC count) at t=0
00069   std::vector<float> fNorm0;  //  Normalization at t=0 (Laser/Ref*TestPulse)
00070 
00071 private:
00072   static size_t fgSize;
00073   static size_t fgNumberOfSuperModules;
00074 };
00075 
00076 #endif