• Main Page
  • Related Pages
  • Namespaces
  • Data Structures
  • Files
  • File List
  • Globals

beamtime/gsi-aug12/hd/go4/ROOTFORMAT/TRootConverterProc.h (r4864/r3172)

Go to the documentation of this file.
00001 #ifndef TROOTCONVPROC_H
00002 #define TROOTCONVPROC_H
00003 
00004 #include "TRootConverterEvent.h"
00005 #include "TRootConverterParam.h"
00006 
00007 #if defined(ROOTCONV_WITHGET4) || defined(ROOTCONV_WITHHODO)
00008    #include "TRocProc.h"
00009    #include "TRocParam.h"
00010 #endif
00011 
00012 // 2nd level events
00013 #ifdef ROOTCONV_WITHHODO
00014    #include "TFiberHodEvent.h"
00015 #endif
00016 #ifdef ROOTCONV_WITHGET4
00017    #include "../RPC/TRPCEvent.h"
00018    #include "../RPC/TRPCParam.h"
00019 #endif
00020 #include "../VFTX/TVftxEvent.h"
00021 
00022 // 1st level events
00023 #include "TMbsCrateEvent.h"
00024 #include "TTriglogEvent.h"
00025 #include "TEpicsEvent.h"
00026 #include "TCBMBeamtimeProc.h"
00027 
00028 #include "TFile.h"
00029 #include "TTree.h"
00030 #include "TH3.h"
00031 
00032 #ifdef ROOTCONV_WITHHODO
00033 class TFiberHodEvent;
00034 #endif
00035 #ifdef ROOTCONV_WITHGET4
00036 class TRPCEvent;
00037 class TGetHitUnpacked;
00038 #endif
00039 
00040 class TGo4EventElement;
00041 class TGo4MbsSubEvent;
00042 
00043 class TMbsCrateEvent;
00044 class TTriglogEvent;
00045 class TEpicsEvent;
00046 
00047 class TVftxEvent;
00048 
00049 class TRootConverterProc : public TCBMBeamtimeProc {
00050    public:
00051    
00052       TRootConverterProc(const char* name = 0);
00053       virtual ~TRootConverterProc();
00054 
00055 
00056       virtual void InitEvent(TGo4EventElement*); 
00057 
00058       /* this is the main processing function here*/
00059       virtual void FinalizeEvent();
00060 
00061    protected:
00062 #ifdef ROOTCONV_WITHGET4
00063       Bool_t FillHitsFromRoc( );
00064 #endif
00065 
00066    protected:
00067       TRootConverterParam * fRootConvPar;
00068 
00069 #if defined(ROOTCONV_WITHGET4) || defined(ROOTCONV_WITHHODO)
00070       TRocParam*  fRocPar;
00071 #endif
00072 #ifdef ROOTCONV_WITHGET4
00073       TRPCParam * fRpcPar;
00074 #endif
00075 
00076 #ifdef ROOTCONV_WITHHODO
00077 
00078       TFiberHodEvent * fHodoInputEvent;
00079 #endif
00080 
00081 #ifdef ROOTCONV_WITHGET4
00082 
00083       TRPCEvent      * fRpcInputEvent;
00084 #endif
00085 
00087       TVftxEvent    * fVftxInputEvent;
00088 
00090       TMbsCrateEvent * fCrateInputEvent;
00091 
00093       TTriglogEvent  * fTriglogInputEvent;
00094 
00096       TEpicsEvent    * fEpicsInputEvent;
00097       
00098       TRootConverterEvent * fOutputEvent;
00099       
00100       // Options readout from setup file or assigned from #define
00101       UInt_t fNumRocs;
00102   
00103       // General counters
00104       UInt_t uNbEvents;
00105       UInt_t uFirstEventIndex;
00106       UInt_t uPrevEventIndex;
00107 
00108       // Tree outputs
00109       TString     sOutputFilename;
00110       TDirectory* oldDir;
00111       TFile*      fRootOut;
00112       TTree*      cleanTree;
00113       
00114 #ifdef ROOTCONV_WITHGET4
00115       // Get4
00116       TGet4HitUnpacked hitForTree;
00117       vector< UInt_t >           *vuHitNumber;
00118       vector< vector< UInt_t > > *vuTime;
00119       vector< vector< UInt_t > > *vuEpochTime;
00120       vector< vector<  Int_t > > *viTot;
00121 #endif
00122       
00123 #ifdef ROOTCONV_WITHHODO
00124       // Hodoscope
00125       TFiberHodEvent::hit_t hitHodoscope;
00126 #endif
00127 
00128       // EPICS Slow control
00129       UInt_t uSlowControlUpdateTime;
00130       vector< Double_t > vdPositiveHvI;
00131       vector< Double_t > vdPositiveHvU;
00132       vector< Double_t > vdNegativeHvI;
00133       vector< Double_t > vdNegativeHvU;
00134 
00135       // Beam spot evolution histogramming
00136       UInt_t uFirstMbsTime;
00137       UInt_t uSpillStartMbsTime;
00138       UInt_t uLastMbsTime;
00139 
00140       UInt_t uFirstMbsTimeMs;
00141       UInt_t uSpillStartMbsTimeMs;
00142 
00143       // Histograms
00144       
00145          // A bit of control, can be disabled
00146       TH1* hNbClustersPerEventHodoscope;
00147       TH3* hHit2DvsSeconds;
00148       TH3* hHit2DvsSecondsInSpill;
00149       TH3* hHit2DvsMilliSecondsInSpill;
00150       TH2* hHitXvsMilliSecondsInSpill;
00151       TH2* hHitYvsMilliSecondsInSpill;
00152          // Control over a flying pointer, not disableable
00153       UInt_t uEpicsTimeOrigin;
00154       TH1* hTimeEpicsUpdates;
00155   
00156    private:
00157       
00158       ClassDef(TRootConverterProc,1)
00159 };
00160 
00161 #endif //TROOTCONVPROC_H
00162 

Generated on Tue Dec 10 2013 04:52:18 for ROCsoft by  doxygen 1.7.1