LCOV - code coverage report
Current view: top level - TRD/TRDbase - AliTRDtrapConfigHandler.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 1 100.0 %
Date: 2016-06-14 17:26:59 Functions: 1 5 20.0 %

          Line data    Source code
       1             : #ifndef ALITRDMCMSIMCONFIGHANDLER_H
       2             : #define ALITRDMCMSIMCONFIGHANDLER_H
       3             : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
       4             :  * See cxx source for full Copyright notice                               */
       5             : 
       6             : ////////////////////////////////////////////////////////////////
       7             : //                                                            //
       8             : //  Multi Chip Module Simulation Configuration Handler Class  //
       9             : //                                                            //
      10             : ////////////////////////////////////////////////////////////////
      11             : 
      12             : 
      13             : #include <TObject.h>
      14             : #include "AliTRDltuParam.h"
      15             : #include "AliTRDCalOnlineGainTable.h"
      16             : #include "AliTRDtrapConfig.h"
      17             : 
      18             : class AliTRDtrapConfigHandler : public TObject {
      19             :  public:
      20             :                     AliTRDtrapConfigHandler(AliTRDtrapConfig *cfg);
      21             :   virtual          ~AliTRDtrapConfigHandler();
      22             : 
      23             :   void Init();                                                // Set DMEM allocation modes
      24             :   void ResetMCMs();                                           // Reset all trap registers and DMEM of the MCMs
      25             :   Int_t LoadConfig();                                         // load a default configuration suitable for simulation
      26             :   Int_t LoadConfig(TString filename);                         // load a TRAP configuration from a file
      27             :   Int_t SetGaintable(AliTRDCalOnlineGainTable const &gtbl);   // Set a gain table to correct Q0 and Q1 for PID
      28             : 
      29             :   void ProcessLTUparam(Int_t dest, Int_t addr, UInt_t data);  // Process the LTU parameters
      30             :   void PrintGeoTest();                                        // Prints some information about the geometry. Only for debugging
      31             : 
      32             :   // UInt_t peek(Int_t rob, Int_t mcm, Int_t addr);   // not implemented yet
      33             :   // Int_t poke(Int_t rob, Int_t mcm, Int_t addr, UInt_t value);   // not implemented yet
      34             : 
      35             :  private:
      36             :   Bool_t AddValues(UInt_t det, UInt_t cmd, UInt_t extali, Int_t addr, UInt_t data);
      37             : 
      38             :   void  ConfigureDyCorr(Int_t det);                             // deflection length correction due to Lorentz angle and tilted pad correction
      39             :   void  ConfigureDRange(Int_t det);                             // deflection range LUT,  range calculated according to B-field (in T) and pt_min (in GeV/c)
      40             :   void  ConfigureNTimebins(Int_t det);                          // timebins in the drift region
      41             :   void  ConfigurePIDcorr(Int_t det);                            // Calculate the mcm individual correction factors for the PID
      42             : 
      43             :   Double_t Square(Double_t val) const { return val*val; };          // returns the square of a given number
      44             : 
      45             :   AliTRDtrapConfigHandler(const AliTRDtrapConfigHandler &h);             // not implemented
      46             :   AliTRDtrapConfigHandler &operator=(const AliTRDtrapConfigHandler &h);  // not implemented
      47             : 
      48             :   static const UInt_t fgkScsnCmdReset=6;     // SCSN command for reset
      49             :   static const UInt_t fgkScsnCmdPause=8;     // SCSN command to pause
      50             :   static const UInt_t fgkScsnCmdRead=9;      // SCSN command to read
      51             :   static const UInt_t fgkScsnCmdWrite=10;    // SCSN command to write
      52             :   static const UInt_t fgkScsnCmdPtrg=12;     // SCSN command for pretrigger
      53             :   static const UInt_t fgkScsnCmdRobPower=16; // SCSN command to switch ROB power
      54             :   static const UInt_t fgkScsnCmdRobReset=17; // SCSN command for ROB reset
      55             : 
      56             :   static const UInt_t fgkScsnCmdRestr=18;    // SCSN command to restrict commands to specified chambers
      57             :   static const UInt_t fgkScsnCmdTtcRx=19;    // SCSN command to configure TTCrx
      58             :   static const UInt_t fgkScsnCmdHwPtrg=20;   // SCSN command to issue pretrigger pulse
      59             :   static const UInt_t fgkScsnCmdSetHC=22;    // SCSN command to set HC ID
      60             :   static const UInt_t fgkScsnCmdMcmTemp=24;  // SCSN command for MCM temperature sensors
      61             :   static const UInt_t fgkScsnCmdPM=25;       // SCSN command for patchmaker
      62             :   static const UInt_t fgkScsnCmdOri=26;      // SCSN command for ORI configuration
      63             :   static const UInt_t fgkScsnLTUparam=27;    // extended SCSN command for the LTU configuration
      64             : 
      65             :   static const Int_t fgkMCMperROBCol = 4;  // MCMs per ROB column
      66             :   static const Int_t fgkPadsPerMCM = 18;   // readout pads per MCM
      67             :   static const Int_t fgkMCMperROBRow = 4;  // MCMs per ROB row
      68             : 
      69             :   static const Int_t fgkMaxLinkPairs=4;    // number of linkpairs used during configuration
      70             :   static const Int_t fgkMcmlistSize=256;     // list of MCMs to which a value has to be written
      71             : 
      72             :   AliTRDltuParam     ltuParam;             // ltuParam class for the actual calculation of the parameters
      73             : 
      74             :   UInt_t fRestrictiveMask;                 // mask to restrict subsequent commands to specified chambers
      75             : 
      76             :   AliTRDtrapConfig *fTrapConfig;           // pointer to TRAP config in use
      77             :   AliTRDCalOnlineGainTable fGtbl;          // gain table
      78             : 
      79          48 :   ClassDef(AliTRDtrapConfigHandler,0)
      80             : };
      81             : 
      82             : #endif

Generated by: LCOV version 1.11