00001 00002 00003 // Program name: LISummaryModule.h 00004 // 00005 // Package: LISummary 00006 // 00007 // Coded by Jeff Hartnell Oct/2002-Feb/2004 00008 // 00009 // Based on code by: Rob Morse Feb/2002 00010 // 00011 // Purpose: A module to collect raw LI summaries or pulser summaries 00012 // from the data stream 00013 // 00014 // Contact: jeffrey.hartnell@physics.ox.ac.uk 00016 00017 #ifndef LISUMMARYMODULE_H 00018 #define LISUMMARYMODULE_H 00019 00020 #include <map> 00021 00022 #include "JobControl/JobCModule.h" 00023 #include "RawData/RawRecord.h" 00024 00025 #include "LISummary/LISummarySorter.h" 00026 00027 class MomNavigator; 00028 class JobCommand; 00029 00030 //...................................................................... 00031 00032 class LISummaryModule : public JobCModule, public TObject 00033 { 00034 public: 00035 00036 LISummaryModule(); 00037 ~LISummaryModule(); 00038 00039 void BeginJob(); 00040 void Config(const Registry &r); 00041 const Registry &DefaultConfig() const; 00042 void EndJob(); 00043 JobCResult Reco(MomNavigator *mom); 00044 00045 private: 00046 00047 JobCResult GetPulserBlocks(RawRecord* rawrec,MomNavigator *mom); 00048 JobCResult GetSummaryBlocks(RawRecord* rawrec); 00049 void PrintBlockInfo(string preString); 00050 00051 //data members 00052 Int_t calibPoint; 00053 Int_t calibType; 00054 Bool_t fDataReconstructed; 00055 LISummarySorter summarySorter; 00056 Int_t led; 00057 Int_t fLedLast; 00058 Int_t fLIRunSeqReq; 00059 Int_t fWriteOnlyGainCurves; 00060 Float_t mean; 00061 Int_t numEntries; 00062 Int_t period; 00063 Int_t pulseHeight; 00064 Int_t pulserBox; 00065 Int_t pulses; 00066 Int_t pulseWidth; 00067 Float_t rms; 00068 std::map<Int_t,Int_t> fLIRunSeqCurrent; 00069 Int_t timeNanoSec; 00070 Int_t timeSec; 00071 VldTimeStamp timeStamp; 00072 00073 LILookup fLookup; 00074 00075 ClassDef(LISummaryModule,0) 00076 }; 00077 00078 #endif //LISUMMARYMODULE_H 00079
1.3.9.1