00001 #ifndef TVFTXPARAM_H 00002 #define TVFTXPARAM_H 00003 00004 #include "TGo4Parameter.h" 00005 00006 #include "MBSUNPACK/TMbsCrateEvent.h" 00007 00008 class TVftxParam : public TGo4Parameter { 00009 public: 00010 //parameters 00011 UInt_t uDebug; // Control the debug output 00012 00013 UInt_t uVftxCalHistosEnabled[MAX_FPGA_TDC]; // No Online Change - Enable/disable Calibration histograms for individual VFTX 00014 00015 Int_t iVftxReference1Channel[MAX_FPGA_TDC]; // No Online Change - Channel used for the 1st reference histogram for each VFTX, -1 disable it 00016 Int_t iVftxReference2Channel[MAX_FPGA_TDC]; // No Online Change - Channel used for the 2nd reference histogram for each VFTX, -1 disable it 00017 Int_t iMainReferenceTdc; // No Online Change - TDC which should be used for the main reference signals 00018 00019 UInt_t uVftxCoincidenceMap; // No Online Change - Enable channel coincidence mapping histo 00020 00021 UInt_t uBitControl; // No Online Change - Starts the histogramms for the bit control 00022 00023 UInt_t uFineHistEnable; // No Online Change - FineTime Histograms for every TDC <= Needed for Correction! 00024 00025 UInt_t uFineEvolutionHistEnable; // No Online Change - FineTime Evolution Histograms for every TDC 00026 00027 UInt_t uCoarseTimeHisto; // No Online Change - Start coarse time histograms 00028 00029 // Time calibration 00030 UInt_t uEnableCalib; // No Online Change - Enable the computation of bin to ns calibration 00031 00032 Int_t iMinNbHitsCalib; // No Online Change - Minimal number of hits in the finetime histogram before we start applying corrections 00033 00034 TString sInitialCalibrationFilename; // No Online Change - If not empty or -, use the bin to ns calibration histograms from this file as initial calibration 00035 00036 UInt_t uVftxInitalCalIndex[MAX_FPGA_TDC]; // No Online Change - Tdc index of the initial calibration histograms for individual VFTX 00037 00038 UInt_t uEnableCalibOutput; // Save the bin to ns calibration (finetime in 1st implementation) to a root file with date/time as name 00039 00040 UInt_t uSingleChannelCalibFilesEnable; // Enable use a one calibration file per channel in ./Calib/ folder 00041 UInt_t uSingleChannelCalibFilesOutput; // 0 = Not output of single channel calib file, 1 = single channel calib file with new data, 2 = Old + new 00042 00043 // Histograms 00044 UInt_t uTimeHistEnable; // No Online Change - Trigger time - calibrated time Histograms for every TDC channel 00045 UInt_t uTimeHistSinglesEnable; // No Online Change - Trigger time - calibrated time Histograms for every TDC channel with only 1 hit in event 00046 00047 UInt_t uTotHistoEnable; // No Online Change - Tot Histograms for every TDC channel pair 00048 00049 // Other corrections 00050 UInt_t uMultiHitsDistanceHistoEnable; // No Online Change - Time distance between consecutive multiple hits on same channel 00051 00052 UInt_t uTdcOffsetEnable; // Enable an automatic 1 clock TDC offset detection 00053 UInt_t uManualTdcOffsetEnable; // Enable an automatic 1 clock TDC offset detection 00054 UInt_t uAutomaticOffsetEnable; // Enable an automatic 1 clock TDC offset detection 00055 Int_t iAutomaticTdcOffset[MAX_FPGA_TDC]; // Offset detected automatically, in clock period 00056 00057 UInt_t uUseCoarseCorrectedTime; // Switch between timeCorr and timeCorr with correction for coarse count cycle (relative to trigger) 00058 00059 // Time offset calibration 00060 Int_t iVftxBoardIndex[MAX_FPGA_TDC]; // No Online Change - Tdc hardware board #Y in slot/data #X 00061 UInt_t uEnableTimeOffsetCalibration; // Enable/disable time offset calibration 00062 Double_t dTimeOffset[MAX_FPGA_TDC][FPGA_TDC_NBCHAN/2]; // No Online Change - Time offset per channel, depends on TDC board, not TDC slot!!!!! 00063 Double_t dMeanTimeOffset[FPGA_TDC_NBCHAN/2]; // No Online Change - Time offset per channel, independent of TDC board, this is a mean value!!!!! 00064 00065 // ToT offset calibration 00066 UInt_t uEnableTotCalibration; // Enable/disable tot offset calibration 00067 Double_t dTotOffset[MAX_FPGA_TDC][FPGA_TDC_NBCHAN/2]; // No Online Change - ToT offset per channel, depends on TDC board, not TDC slot!!!!! 00068 Double_t dMeanTotOffset[FPGA_TDC_NBCHAN/2]; // No Online Change - ToT offset per channel, independent of TDC board, this is a mean value!!!!! 00069 00070 //functions 00071 TVftxParam(const char* name = 0); //Constructor 00072 00073 ~TVftxParam(); //Destructor 00074 00075 Int_t PrintOptions(); //prints out the parameters 00076 00077 ClassDef(TVftxParam,2) 00078 00079 private: 00080 Bool_t ReadOptions(); //reads out the data from the text file 00081 }; 00082 00083 #endif // TVFTXPARAM_H