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

onlinemonitor/framework/T1290Data.h (r4864/r3170)

Go to the documentation of this file.
00001 #ifndef T1290DATA_H
00002 #define T1290DATA_H
00003 
00004 #include "TObject.h"
00005 
00006 
00007 // Container for T1290 data
00008 
00009 class TH1;
00010 class TH2;
00011 class TGo4EventProcessor;
00012 
00013 class T1290Data : public TObject {
00014    public:
00015 
00016    enum { NumChan = 32 };
00017    enum { MaxHits = 3 };
00018 
00019    Int_t lead[NumChan];
00020    Int_t trail[NumChan];
00021    Int_t width[NumChan];
00022    Int_t hit_lead[NumChan];
00023    Int_t hit_trail[NumChan];
00024    Int_t lead_multi[NumChan][MaxHits];
00025    Int_t trail_multi[NumChan][MaxHits];
00026    Int_t extended_trigger_time;
00027 
00028    T1290Data() : TObject() { Clear(); }
00029 
00030    void Clear();
00031 
00032    void CalcWidth();
00033 
00034    void Unpack(int* pdata, unsigned len, int expected_geo = 0);
00035 
00036    static int FindGeo(int* pdata, unsigned len);
00037 
00038    ClassDef(T1290Data, 1)
00039 };
00040 
00041 // envelope for processing of 1290 data
00042 
00043 class T1290Proc : public TObject {
00044    public:
00045       T1290Proc();
00046       virtual ~T1290Proc();
00047 
00048       void MakeHistos(TGo4EventProcessor* proc, const char* name = "TDC");
00049       void MakeDebugHistos(TGo4EventProcessor* proc, const char* name = "TDC");
00050 
00051       void FillHistos(T1290Data& data);
00052       void FillDebugHistos(T1290Data& data);
00053 
00054       // Overloaded Functions to allow for finer control on histograms
00055       void MakeHistos(TGo4EventProcessor* proc, Bool_t bWithDebugHistos,
00056                                 Bool_t bWithTriggerTime, const char* name = "TDC");
00057       void FillHistos(T1290Data& data, Bool_t bWithDebugHistos, Bool_t bWithTriggerTime);
00058 
00059       TH1*   fTDC_chan; 
00060       TH1*   fTDC_chanLead; 
00061       TH1*   fTDC_chanTrail; 
00062       TH1*   fTDC_lead[T1290Data::NumChan];  
00063       TH1*   fTDC_trail[T1290Data::NumChan];  
00064       TH1*   fTDC_width[T1290Data::NumChan];  
00065 
00066       TH2*   fTDC_chanLeadMulti; 
00067       TH2*   fTDC_chanTrailMulti; 
00068 
00069       // Multi hit debug histograms
00070       TH2*   fTDC_lead_nblead[T1290Data::NumChan];  
00071 
00072       TH1*   fTDC_lead_multi[T1290Data::NumChan];  
00073       TH1*   fTDC_trail_multi[T1290Data::NumChan];  
00074       TH1*   fTDC_width_multi[T1290Data::NumChan];  
00075 
00076       // Trigger Time Histogram
00077       TH1*   fTDC_CAEN_triggertimeHigh;
00078       TH1*   fTDC_CAEN_triggertimeLow;
00079 
00080    ClassDef(T1290Proc, 1)
00081 
00082 };
00083 
00084 #endif

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