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

beamtime/gsi-aug12/hd/go4/MONITOR/TBeamMonitorParam.h (r4864/r3218)

Go to the documentation of this file.
00001 #ifndef TBEAMMONITORPARAM_H
00002 #define TBEAMMONITORPARAM_H
00003 
00004 #include "TGo4Parameter.h"
00005 
00006 #define NB_STRIP_RPC_MAX       5 // Maximal number of RPCs with strips
00007 #define NB_STRIPS_MAX         150 // Maximal Nb of strips which can be defined
00008 
00009 #define NB_PAD_RPC_MAX         5 // Maximal number of RPCs with pads
00010 #define NB_PADS_X_MAX         10 // Maximal Nb of pads in X direction which can be defined
00011 #define NB_PADS_Y_MAX          2 // Maximal Nb of pads in Y direction which can be defined
00012 
00013 class TBeamMonitorParam : public TGo4Parameter {
00014    public:
00015       TBeamMonitorParam(const char* name = 0);
00016 
00017       virtual ~TBeamMonitorParam();
00018 
00019       virtual Bool_t UpdateFrom(TGo4Parameter *);
00020 
00021       Int_t   PrintOptions();
00022       
00023       Int_t   ConvertChToTdcAndCh( Int_t iChannelNumberCaenTdc,  Int_t iChannelNumberVftxTdc );
00024 
00025 //      Int_t Dummy; // dummy variable
00026      
00027       // General settings
00028       UInt_t   uDebug;                                              // If 1, this class will spit out debug text for most operations
00029       Int_t    iOffsetFullChannelCaen;                              // General (raw) channel index in CAEN system used for offset calculation, Offset = 0 if -1
00030       Int_t    iOffsetFullChannelVFTX;                              // General (raw) channel index in VFTX system used for offset calculation, Offset = 0 if -1
00031       Int_t    iOffsetTdcCaen;                                      // Tdc index in CAEN system used for offset calculation, Offset = 0 if -1
00032       Int_t    iOffsetTdcVFTX;                                      // Tdc index in VFTX system used for offset calculation, Offset = 0 if -1
00033       Int_t    iOffsetChannelCaen;                                  // Channel index in CAEN system used for offset calculation, Offset = 0 if -1
00034       Int_t    iOffsetChannelVFTX;                                  // Channel index in VFTX system used for offset calculation, Offset = 0 if -1
00035       Int_t    iRateIntegrationDuration;                            // Time interval between rate histograms reset
00036       Int_t    iRateIntegrationStep;                                // Time interval between rate histograms update, has to be < iRateIntegrationDuration
00037       
00038       // Strip RPCs setings
00039       Int_t    iNbStripRpcs;                                        // Nb of strip RPC for the beam profile monitor
00040       UInt_t   uTdcTypeStrip[NB_STRIP_RPC_MAX];                     // Tell which tdc type to use for this strip RPC: 0 = CAEN, 1 = VFTX
00041       TString  sStripRpcName[NB_STRIP_RPC_MAX];                     // Name of each strip RPC for the beam profile monitor
00042       Double_t dStripRpcPosX[NB_STRIP_RPC_MAX];                     // Position of each strip RPC in X direction, in cm
00043       Double_t dStripRpcPosY[NB_STRIP_RPC_MAX];                     // Position of each strip RPC in Y direction, in cm
00044       Double_t dStripRpcPosZ[NB_STRIP_RPC_MAX];                     // Position of each strip RPC in Z direction, in cm
00045       UInt_t   uNbStrips[NB_STRIP_RPC_MAX];                         // Nb of strips for the beam profile monitor
00046       Double_t dStripWidth[NB_STRIP_RPC_MAX];                       // Width of strips in cm for the beam profile monitor
00047       Double_t dTimeConv[NB_STRIP_RPC_MAX];                         // Time conversion factor in cm/ns for the beam profile monitor
00048 
00049       UInt_t   uStripLeftList[NB_STRIP_RPC_MAX][NB_STRIPS_MAX];     // List of general (raw) channels for the left side of each strip for beam profile monitor
00050       UInt_t   uStripRightList[NB_STRIP_RPC_MAX][NB_STRIPS_MAX];    // List of general (raw) channels for the right side of each strip for beam profile monitor
00051       UInt_t   uTdcStripLeftList[NB_STRIP_RPC_MAX][NB_STRIPS_MAX];  // List of tdc index for the left side of each strip for beam profile monitor
00052       UInt_t   uTdcStripRightList[NB_STRIP_RPC_MAX][NB_STRIPS_MAX]; // List of tdc index for the right side of each strip for beam profile monitor
00053       UInt_t   uChannelStripLeft[NB_STRIP_RPC_MAX][NB_STRIPS_MAX];  // List of channels inside tdc for the left side of each strip for beam profile monitor
00054       UInt_t   uChannelStripRight[NB_STRIP_RPC_MAX][NB_STRIPS_MAX]; // List of channels inside tdc for the right side of each strip for beam profile monitor
00055 
00056       UInt_t   uTotStripLeftList[NB_STRIP_RPC_MAX][NB_STRIPS_MAX];     // List of general (raw) channels for the left side of each strip for beam profile monitor
00057       UInt_t   uTotStripRightList[NB_STRIP_RPC_MAX][NB_STRIPS_MAX];    // List of general (raw) channels for the right side of each strip for beam profile monitor
00058       UInt_t   uTotTdcStripLeftList[NB_STRIP_RPC_MAX][NB_STRIPS_MAX];  // List of tdc index for the left side of each strip for beam profile monitor
00059       UInt_t   uTotTdcStripRightList[NB_STRIP_RPC_MAX][NB_STRIPS_MAX]; // List of tdc index for the right side of each strip for beam profile monitor
00060       UInt_t   uTotChannelStripLeft[NB_STRIP_RPC_MAX][NB_STRIPS_MAX];  // List of channels inside tdc for the left side of each strip for beam profile monitor
00061       UInt_t   uTotChannelStripRight[NB_STRIP_RPC_MAX][NB_STRIPS_MAX]; // List of channels inside tdc for the right side of each strip for beam profile monitor
00062 
00063       Double_t dOffsetList[NB_STRIP_RPC_MAX][NB_STRIPS_MAX];        // List of the offset for each strip in beam profile monitor in cm
00064       Int_t    iBeamProfileSize[NB_STRIP_RPC_MAX];                  // Size of the beam profile histogram along X axis in cm
00065 
00066       // Pad RPCs settings
00067       Int_t    iNbPadRpcs;                                             // Nb of pad RPC for the beam profile monitor
00068       UInt_t   uTdcTypePad[NB_PAD_RPC_MAX];                            // Tell which tdc type to use for this pad RPC: 0 = CAEN, 1 = VFTX
00069       TString  sPadRpcName[NB_PAD_RPC_MAX];                            // Name of each pad RPC for the beam profile monitor
00070       Double_t dPadRpcPosX[NB_STRIP_RPC_MAX];                          // Position of each pad RPC in X direction, in cm
00071       Double_t dPadRpcPosY[NB_STRIP_RPC_MAX];                          // Position of each pad RPC in Y direction, in cm
00072       Double_t dPadRpcPosZ[NB_STRIP_RPC_MAX];                          // Position of each pad RPC in Z direction, in cm
00073       UInt_t   uNbPadsX[NB_PAD_RPC_MAX];                               // Nb of pads for the beam profile monitor along X direction
00074       UInt_t   uNbPadsY[NB_PAD_RPC_MAX];                               // Nb of pads for the beam profile monitor along X direction
00075       Double_t dPadSizeX[NB_STRIP_RPC_MAX];                            // Size of pad in cm along X direction for the beam profile monitor
00076       Double_t dPadSizeY[NB_STRIP_RPC_MAX];                            // Size of pad in cm along Y direction for the beam profile monitor
00077       UInt_t   uPadsList[NB_PAD_RPC_MAX][NB_PADS_Y_MAX][NB_PADS_X_MAX];// List of general (raw) channels for the pads for beam profile monitor
00078       UInt_t   uPadsTdc[NB_PAD_RPC_MAX][NB_PADS_Y_MAX][NB_PADS_X_MAX]; // List of tdc index for the pads for beam profile monitor
00079       UInt_t   uPadsChan[NB_PAD_RPC_MAX][NB_PADS_Y_MAX][NB_PADS_X_MAX];// List of channels inside tdc for the pads for beam profile monitor
00080   
00081    private:
00082       Bool_t ReadOptions();
00083           
00084    ClassDef(TBeamMonitorParam,2)
00085 };
00086 
00087 #endif

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