00001 #ifndef TPLASTICSPARAM_H 00002 #define TPLASTICSPARAM_H 00003 00004 #include "TGo4Parameter.h" 00005 00006 #define NB_PLASTICS_MAX 4 // Maximal Nb of plastics which can be defined 00007 00008 class TPlasticsParam : public TGo4Parameter { 00009 public: 00010 //parameters 00011 UInt_t uDebug; // Control the debug output 00012 UInt_t uNbPlastics; // Nb of plastics present 00013 00014 Double_t dTimeConv; // Time conversion factor in cm/ns for the beam profile monitor 00015 00016 // PLASTICSs settings 00017 UInt_t uPlasticTdcType[NB_PLASTICS_MAX]; // List of tdc type for each strip ( 0 = CAEN, 1 = VFTX ) 00018 00019 Double_t dPlasticsPosX[NB_PLASTICS_MAX]; // Position of each PLASTICS in X direction, in cm 00020 Double_t dPlasticsPosY[NB_PLASTICS_MAX]; // Position of each PLASTICS in Y direction, in cm 00021 Double_t dPlasticsPosZ[NB_PLASTICS_MAX]; // Position of each PLASTICS in Z direction, in cm 00022 00023 UInt_t uOrientation[NB_PLASTICS_MAX]; // Detector orientation: 0 = horizontal strip, 1 = vertical strips 00024 Double_t dPlasticWidth[NB_PLASTICS_MAX]; // Width of strips in cm for the beam profile monitor 00025 Double_t dPlasticLength[NB_PLASTICS_MAX]; // Length of strips in cm 00026 00027 UInt_t uNbSides[NB_PLASTICS_MAX]; // Nb of sides readout for each plastic (0 OFF, 1 single, 2 double) 00028 UInt_t uTdcPlasticLeftTot[NB_PLASTICS_MAX]; // List of tdc index for the left side tot of each plastic 00029 UInt_t uChannelPlasticLeftTot[NB_PLASTICS_MAX]; // List of channels inside tdc for the left side tot of each plastic 00030 UInt_t uTdcPlasticLeftTime[NB_PLASTICS_MAX]; // List of tdc index for the left side time of each plastic 00031 UInt_t uChannelPlasticLeftTime[NB_PLASTICS_MAX]; // List of channels inside tdc for the left side time of each plastic 00032 UInt_t uTdcPlasticRightTime[NB_PLASTICS_MAX]; // List of tdc index for the right side time of each plastic 00033 UInt_t uChannelPlasticRightTime[NB_PLASTICS_MAX];// List of channels inside tdc for the right side time of each plastic 00034 UInt_t uTdcPlasticRightTot[NB_PLASTICS_MAX]; // List of tdc index for the right side tot of each plastic 00035 UInt_t uChannelPlasticRightTot[NB_PLASTICS_MAX]; // List of channels inside tdc for the right side tot of each plastic 00036 00037 /* New from Christian version => maybe buggy */ 00038 Int_t iReferenceTdc; // Tdc index in CAEN/VFTX system used for reference between TDCs, Offset = 0 if -1 00039 Int_t iReferenceChannel; // Channel index in CAEN/VFTX system used for reference between TDCs, Offset = 0 if -1 00040 Int_t iDiamondTdcVFTX; // Tdc index in VFTX system used for Diamond 00041 Int_t iDiamondChannelVFTX; // Channel index in VFTX system used for Diamond 00042 00043 Int_t iTriggerSelection; // Trigger required for histo filling. -1 means not selection. 00044 00045 Double_t dProfOffsetList[NB_PLASTICS_MAX]; // List of the time offsets for each plastic in beam profile monitor in ps 00046 Double_t dDiaOffsetList[NB_PLASTICS_MAX]; // List of the time offsets for each plastic in diamond profile monitor in ps 00047 Double_t dRefOffsetList[NB_PLASTICS_MAX]; // List of the time offsets for each plastic in reference profile monitor in ps 00048 00049 Double_t dOffsetListLeft[NB_PLASTICS_MAX]; // List of the time offsets for each plastic in beam profile monitor in ns 00050 Double_t dOffsetListRight[NB_PLASTICS_MAX]; // List of the time offsets for each plastic in beam profile monitor in ns 00051 00052 Double_t dToTGainListLeft[NB_PLASTICS_MAX]; // List of the tot gain for each plastic in beam profile monitor 00053 Double_t dTotOffsetListLeft[NB_PLASTICS_MAX]; // List of the tot offsets for each plastic in beam profile monitor in ps 00054 Double_t dToTGainListRight[NB_PLASTICS_MAX]; // List of the tot gain for each plastic in beam profile monitor 00055 Double_t dTotOffsetListRight[NB_PLASTICS_MAX]; // List of the tot offsets for each plastic in beam profile monitor in ps 00056 00057 //functions 00058 TPlasticsParam(const char* name = 0); //Constructor 00059 00060 ~TPlasticsParam(); //Destructor 00061 00062 Int_t PrintOptions(); //prints out the parameters 00063 00064 private: 00065 Bool_t ReadOptions(); //reads out the data from the text file 00066 00067 Bool_t CalculateLeftRightOffset(); 00068 00069 ClassDef(TPlasticsParam,1) 00070 }; 00071 00072 #endif // TPLASTICSPARAM_H