00001 #ifndef TRPCPARAM_H 00002 #define TRPCPARAM_H 00003 00004 #include "TGo4Parameter.h" 00005 00006 #define NO_OF_GET4ROC_MAX 4 00007 #define NO_OF_FEETS_MAX 28 // boards = NO_OF_GET4ROC_MAX*14 00008 #define NB_STRIPS_MAX 40 // Maximal Nb of strips which can be defined 00009 #define NB_PADS_X_MAX 10 // Maximal Nb of pads in X direction which can be defined 00010 #define NB_PADS_Y_MAX 2 // Maximal Nb of pads in Y direction which can be defined 00011 00012 #define NB_CHAN_GET4 4 00013 #define CHIP_PER_FEET 2 // chips 00014 #define CHAN_PER_CHIP 4 // chan 00015 #define NB_BIN_GET4_FTS 128 // bins ( = 2^NB_BITS_FTS) 00016 00017 class TRPCParam : public TGo4Parameter { 00018 public: 00019 // default constructor - important for parameter streaming 00020 TRPCParam(); 00021 00022 TRPCParam(const char* name); 00023 00024 virtual ~TRPCParam(); 00025 00026 virtual Bool_t UpdateFrom(TGo4Parameter *); 00027 00028 Int_t PrintOptions(); 00029 00030 // Options readout from setup file or assigned from #define 00031 UInt_t uHitBuildingEnable; // No Online Change - Enable the messages and the hit building (needed for block ordering) 00032 UInt_t uBlockOrderingEnable; // No Online Change - Enable the time Ordering of 25 Epoch Blocks (needed for output) 00033 00034 UInt_t uRootDisplay; // No Online Change - Enable/Disable root tree display in GO4 interface 00035 UInt_t uCleanOuputEnable; // No Online Change - Enable/Disable the generation of a cleaned data root file 00036 TString sOutputFilename; // No Online Change - Filename for the output of the Cleanning/Unpack step 00037 UInt_t uAddGet4DataInTree; // No Online Change - Enable/Disable the Get4 data in the TTree root output 00038 Int_t iPmtTdc; // No Online Change - Index of the Caen TDC containing the PMT data 00039 Int_t iPmtQdc; // No Online Change - Index of the Lecroy Qdc containing the PMT data 00040 Int_t iRpcTdcLeading; // No Online Change - Index of the Caen TDC containing the RPC leading edge data 00041 Int_t iRpcTdcTrailing; // No Online Change - Index of the Caen TDC containing the RPC trailing edge data 00042 Int_t iReferenceTdc; // No Online Change - Index of the Caen TDC containing the t0 hybrid reference time 00043 Int_t iReferenceChannel1; // No Online Change - Index of the 1st channel containing the t0 hybrid reference time 00044 Int_t iReferenceChannel2; // No Online Change - Index of the 2nd channel containing the t0 hybrid reference time 00045 00046 Float_t fCorrelationGate; // Correlation Gate for the histograms in ns (plotted if dt<value) 00047 Float_t fCorrelationCheck; // Correlation check for the histograms in ns (correlated if dt<value) 00048 Float_t fTotSize; // No Online Change - Size of the scale for the ToT histograms ( [0, +value] ) 00049 UInt_t uManualDebug; // For manual corrections: 0 disable the messages about 00050 UInt_t uNbHitMeanRate; // Number of hits over which the average instantaneous rate in computed 00051 UInt_t uCorrelationHistoOn; // No Online Change - Enable/Disable histograms for 3/4 chan correlations 00052 UInt_t uTotCorrelationHistOn;// No Online Change - Enable/Disable histograms for TOT correlations 00053 00054 UInt_t uNbStrips; // Nb of strips for the beam profile monitor 00055 UInt_t uStripLeftList[NB_STRIPS_MAX]; // List of channels for the left side of each strip for beam profile monitor 00056 UInt_t uStripRightList[NB_STRIPS_MAX]; // List of channels for the right side of each strip for beam profile monitor 00057 Double_t dOffsetList[NB_STRIPS_MAX]; // List of the offset for each strip in beam profile monitor in cm 00058 Int_t iBeamProfileSize; // Size of the beam profile histogram along X axis in cm 00059 00060 UInt_t uNbPadsX; // Nb of pads for the beam profile monitor along X direction 00061 UInt_t uNbPadsY; // Nb of pads for the beam profile monitor along X direction 00062 UInt_t uPadsList[NB_PADS_Y_MAX][NB_PADS_X_MAX];// List of channels for the pads for beam profile monitor 00063 00064 private: 00065 Bool_t ReadOptions(); 00066 00067 ClassDef(TRPCParam,1) 00068 }; 00069 00070 #endif