00001 #ifndef TAnaManager_h 00002 #define TAnaManager_h 00003 00004 // Use this list here to decide which type of equipment to use. 00005 00006 #define USE_V792 00007 //#define USE_V1190 00008 //#define USE_L2249 00009 //#define USE_AGILENT 00010 //#define USE_V1720 00011 //#define USE_V1730DPP 00012 //#define USE_V1730RAW 00013 //#define USE_DT724 00014 00015 #include "TV792Histogram.h" 00016 #include "TV1190Histogram.h" 00017 #include "TL2249Histogram.h" 00018 #include "TAgilentHistogram.h" 00019 #include "TV1720Waveform.h" 00020 #include "TV1730DppWaveform.h" 00021 #include "TV1730RawWaveform.h" 00022 #include "TDT724Waveform.h" 00023 00024 /// This is an example of how to organize a set of different histograms 00025 /// so that we can access the same information in a display or a batch 00026 /// analyzer. 00027 /// Change the set of ifdef's above to define which equipment to use. 00028 class TAnaManager { 00029 public: 00030 TAnaManager(); 00031 virtual ~TAnaManager(){}; 00032 00033 /// Processes the midas event, fills histograms, etc. 00034 int ProcessMidasEvent(TDataContainer& dataContainer); 00035 00036 /// Methods for determining if we have a particular set of histograms. 00037 bool HaveV792Histograms(); 00038 bool HaveV1190Histograms(); 00039 bool HaveL2249Histograms(); 00040 bool HaveAgilentistograms(); 00041 bool HaveV1720Histograms(); 00042 bool HaveV1730DPPistograms(); 00043 bool HaveV1730Rawistograms(); 00044 bool HaveDT724Histograms(); 00045 00046 /// Methods for getting particular set of histograms. 00047 TV792Histograms* GetV792Histograms(); 00048 TV1190Histograms* GetV1190Histograms(); 00049 TL2249Histograms* GetL2249Histograms(); 00050 TAgilentHistograms* GetAgilentistograms(); 00051 TV1720Waveform* GetV1720Histograms(); 00052 TV1730DppWaveform* GetV1730DPPistograms(); 00053 TV1730RawWaveform* GetV1730Rawistograms(); 00054 TDT724Waveform* GetDT724Histograms(); 00055 00056 00057 private: 00058 00059 TV792Histograms *fV792Histogram; 00060 TV1190Histograms *fV1190Histogram; 00061 TL2249Histograms *fL2249Histogram; 00062 TAgilentHistograms *fAgilentHistogram; 00063 TV1720Waveform *fV1720Waveform; 00064 TV1730DppWaveform *fV1730DppWaveform; 00065 TV1730RawWaveform *fV1730RawWaveform; 00066 TDT724Waveform *fDT724Waveform; 00067 00068 00069 }; 00070 00071 00072 00073 #endif 00074 00075