]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/AliTRDtrapConfig.h
Min Et changed for DA
[u/mrichter/AliRoot.git] / TRD / AliTRDtrapConfig.h
index 680a4b11131db21097d20871f75ee46fdde56f0d..af4a7f072c05d623a4c01379da2c3b58c0236595 100644 (file)
-#ifndef ALITRDTRAPCONFIG_H
-#define ALITRDTRAPCONFIG_H
+#ifndef ALITRDTRAPCONFIG_H\r
+#define ALITRDTRAPCONFIG_H\r
+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice                               */
 
-#include <TObject.h>
-#include <TClonesArray.h>
+// 
+// Class holding the configuration of the tracklet processor 
+// in the TRD FEE
+//
 
-class AliTRDtrapConfig : public TObject
-{
- public:
-  static AliTRDtrapConfig* Instance();
-
-  enum TrapReg_t { kSML0, 
-                 kSML1, 
-                 kSML2,
-                 kSMMODE,
-                 kNITM0,
-                 kNITM1,
-                 kNITM2,
-                 kNIP4D,
-                 kCPU0CLK,
-                 kCPU1CLK,
-                 kCPU2CLK,
-                 kCPU3CLK,
-                 kNICLK,
-                 kFILCLK,
-                 kPRECLK,
-                 kADCEN,
-                 kNIODE,
-                 kNIOCE,
-                 kNIIDE,
-                 kNIICE,
-                 kARBTIM,      
-                 kIA0IRQ0,     
-                 kIA0IRQ1,     
-                 kIA0IRQ2,     
-                 kIA0IRQ3,     
-                 kIA0IRQ4,     
-                 kIA0IRQ5,     
-                 kIA0IRQ6,     
-                 kIA0IRQ7,     
-                 kIA0IRQ8,     
-                 kIA0IRQ9,     
-                 kIA0IRQA,     
-                 kIA0IRQB,     
-                 kIA0IRQC,     
-                 kIRQSW0,      
-                 kIRQHW0,      
-                 kIRQHL0,      
-                 kIA1IRQ0,     
-                 kIA1IRQ1,     
-                 kIA1IRQ2,     
-                 kIA1IRQ3,     
-                 kIA1IRQ4,     
-                 kIA1IRQ5,     
-                 kIA1IRQ6,     
-                 kIA1IRQ7,     
-                 kIA1IRQ8,     
-                 kIA1IRQ9,     
-                 kIA1IRQA,     
-                 kIA1IRQB,     
-                 kIA1IRQC,     
-                 kIRQSW1,      
-                 kIRQHW1,      
-                 kIRQHL1,      
-                 kIA2IRQ0,     
-                 kIA2IRQ1,     
-                 kIA2IRQ2,     
-                 kIA2IRQ3,     
-                 kIA2IRQ4,     
-                 kIA2IRQ5,     
-                 kIA2IRQ6,     
-                 kIA2IRQ7,     
-                 kIA2IRQ8,     
-                 kIA2IRQ9,     
-                 kIA2IRQA,     
-                 kIA2IRQB,     
-                 kIA2IRQC,     
-                 kIRQSW2,      
-                 kIRQHW2,      
-                 kIRQHL2,      
-                 kIA3IRQ0,     
-                 kIA3IRQ1,     
-                 kIA3IRQ2,     
-                 kIA3IRQ3,     
-                 kIA3IRQ4,     
-                 kIA3IRQ5,     
-                 kIA3IRQ6,     
-                 kIA3IRQ7,     
-                 kIA3IRQ8,     
-                 kIA3IRQ9,     
-                 kIA3IRQA,     
-                 kIA3IRQB,     
-                 kIA3IRQC,     
-                 kIRQSW3,      
-                 kIRQHW3,      
-                 kIRQHL3,      
-                 kCTGDINI,     
-                 kCTGCTRL,     
-                 kC08CPU0,     
-                 kC09CPU0,     
-                 kC10CPU0,     
-                 kC11CPU0,     
-                 kC12CPUA,     
-                 kC13CPUA,     
-                 kC14CPUA,     
-                 kC15CPUA,     
-                 kC08CPU1,     
-                 kC09CPU1,     
-                 kC10CPU1,     
-                 kC11CPU1,     
-                 kC08CPU2,     
-                 kC09CPU2,     
-                 kC10CPU2,     
-                 kC11CPU2,     
-                 kC08CPU3,     
-                 kC09CPU3,     
-                 kC10CPU3,     
-                 kC11CPU3,     
-                 kNMOD,        
-                 kNDLY,        
-                 kNED,         
-                 kNTRO,        
-                 kNRRO,        
-                 kNES,         
-                 kNTP,         
-                 kNBND,        
-                 kNP0,         
-                 kNP1,         
-                 kNP2,         
-                 kNP3,         
-                 kNCUT,        
-                 kTPPT0,       
-                 kTPFS,        
-                 kTPFE,        
-                 kTPPGR,       
-                 kTPPAE,       
-                 kTPQS0,       
-                 kTPQE0,       
-                 kTPQS1,       
-                 kTPQE1,       
-                 kEBD,         
-                 kEBAQA,       
-                 kEBSIA,       
-                 kEBSF,        
-                 kEBSIM,       
-                 kEBPP,        
-                 kEBPC,        
-                 kEBIS,        
-                 kEBIT,        
-                 kEBIL,        
-                 kEBIN,        
-                 kFLBY,        
-                 kFPBY,        
-                 kFGBY,        
-                 kFTBY,        
-                 kFCBY,        
-                 kFPTC,        
-                 kFPNP,        
-                 kFPCL,        
-                 kFGTA,        
-                 kFGTB,        
-                 kFGCL,        
-                 kFTAL,        
-                 kFTLL,        
-                 kFTLS,        
-                 kFCW1,        
-                 kFCW2,        
-                 kFCW3,        
-                 kFCW4,        
-                 kFCW5,        
-                 kTPFP,        
-                 kTPHT,        
-                 kTPVT,        
-                 kTPVBY,       
-                 kTPCT,        
-                 kTPCL,        
-                 kTPCBY,       
-                 kTPD,         
-                 kTPCI0,       
-                 kTPCI1,       
-                 kTPCI2,       
-                 kTPCI3,       
-                 kADCMSK,      
-                 kADCINB,      
-                 kADCDAC,      
-                 kADCPAR,      
-                 kADCTST,      
-                 kSADCAZ,      
-                 kFGF0,        
-                 kFGF1,        
-                 kFGF2,        
-                 kFGF3,        
-                 kFGF4,        
-                 kFGF5,        
-                 kFGF6,        
-                 kFGF7,        
-                 kFGF8,        
-                 kFGF9,        
-                 kFGF10,       
-                 kFGF11,       
-                 kFGF12,       
-                 kFGF13,       
-                 kFGF14,       
-                 kFGF15,       
-                 kFGF16,       
-                 kFGF17,       
-                 kFGF18,       
-                 kFGF19,       
-                 kFGF20,       
-                 kFGA0,        
-                 kFGA1,        
-                 kFGA2,        
-                 kFGA3,        
-                 kFGA4,        
-                 kFGA5,        
-                 kFGA6,        
-                 kFGA7,        
-                 kFGA8,        
-                 kFGA9,        
-                 kFGA10,       
-                 kFGA11,       
-                 kFGA12,       
-                 kFGA13,       
-                 kFGA14,       
-                 kFGA15,       
-                 kFGA16,       
-                 kFGA17,       
-                 kFGA18,       
-                 kFGA19,       
-                 kFGA20,       
-                 kFLL00,       
-                 kFLL01,       
-                 kFLL02,       
-                 kFLL03,       
-                 kFLL04,       
-                 kFLL05,       
-                 kFLL06,       
-                 kFLL07,       
-                 kFLL08,       
-                 kFLL09,       
-                 kFLL0A,       
-                 kFLL0B,       
-                 kFLL0C,       
-                 kFLL0D,       
-                 kFLL0E,       
-                 kFLL0F,       
-                 kFLL10,       
-                 kFLL11,       
-                 kFLL12,       
-                 kFLL13,       
-                 kFLL14,       
-                 kFLL15,       
-                 kFLL16,       
-                 kFLL17,       
-                 kFLL18,       
-                 kFLL19,       
-                 kFLL1A,       
-                 kFLL1B,       
-                 kFLL1C,       
-                 kFLL1D,       
-                 kFLL1E,       
-                 kFLL1F,       
-                 kFLL20,       
-                 kFLL21,       
-                 kFLL22,       
-                 kFLL23,       
-                 kFLL24,       
-                 kFLL25,       
-                 kFLL26,       
-                 kFLL27,       
-                 kFLL28,       
-                 kFLL29,       
-                 kFLL2A,       
-                 kFLL2B,       
-                 kFLL2C,       
-                 kFLL2D,       
-                 kFLL2E,       
-                 kFLL2F,       
-                 kFLL30,       
-                 kFLL31,       
-                 kFLL32,       
-                 kFLL33,       
-                 kFLL34,       
-                 kFLL35,       
-                 kFLL36,       
-                 kFLL37,       
-                 kFLL38,       
-                 kFLL39,       
-                 kFLL3A,       
-                 kFLL3B,       
-                 kFLL3C,       
-                 kFLL3D,       
-                 kFLL3E,       
-                 kFLL3F,       
-                 kPASADEL,     
-                 kPASAPHA,     
-                 kPASAPRA,     
-                 kPASADAC,     
-                 kPASACHM,     
-                 kPASASTL,     
-                 kPASAPR1,     
-                 kPASAPR0,     
-                 kSADCTRG,     
-                 kSADCRUN,     
-                 kSADCPWR,     
-                 kL0TSIM,      
-                 kSADCEC,      
-                 kSADCMC,      
-                 kSADCOC,      
-                 kSADCGTB,     
-                 kSEBDEN,      
-                 kSEBDOU,      
-                 kTPL00,       
-                 kTPL01,       
-                 kTPL02,       
-                 kTPL03,       
-                 kTPL04,       
-                 kTPL05,       
-                 kTPL06,       
-                 kTPL07,       
-                 kTPL08,       
-                 kTPL09,       
-                 kTPL0A,       
-                 kTPL0B,       
-                 kTPL0C,       
-                 kTPL0D,       
-                 kTPL0E,       
-                 kTPL0F,       
-                 kTPL10,       
-                 kTPL11,       
-                 kTPL12,       
-                 kTPL13,       
-                 kTPL14,       
-                 kTPL15,       
-                 kTPL16,       
-                 kTPL17,       
-                 kTPL18,       
-                 kTPL19,       
-                 kTPL1A,       
-                 kTPL1B,       
-                 kTPL1C,       
-                 kTPL1D,       
-                 kTPL1E,       
-                 kTPL1F,       
-                 kTPL20,       
-                 kTPL21,       
-                 kTPL22,       
-                 kTPL23,       
-                 kTPL24,       
-                 kTPL25,       
-                 kTPL26,       
-                 kTPL27,       
-                 kTPL28,       
-                 kTPL29,       
-                 kTPL2A,       
-                 kTPL2B,       
-                 kTPL2C,       
-                 kTPL2D,       
-                 kTPL2E,       
-                 kTPL2F,       
-                 kTPL30,       
-                 kTPL31,       
-                 kTPL32,       
-                 kTPL33,       
-                 kTPL34,       
-                 kTPL35,       
-                 kTPL36,       
-                 kTPL37,       
-                 kTPL38,       
-                 kTPL39,       
-                 kTPL3A,       
-                 kTPL3B,       
-                 kTPL3C,       
-                 kTPL3D,       
-                 kTPL3E,       
-                 kTPL3F,       
-                 kTPL40,       
-                 kTPL41,       
-                 kTPL42,       
-                 kTPL43,       
-                 kTPL44,       
-                 kTPL45,       
-                 kTPL46,       
-                 kTPL47,       
-                 kTPL48,       
-                 kTPL49,       
-                 kTPL4A,       
-                 kTPL4B,       
-                 kTPL4C,       
-                 kTPL4D,       
-                 kTPL4E,       
-                 kTPL4F,       
-                 kTPL50,       
-                 kTPL51,       
-                 kTPL52,       
-                 kTPL53,       
-                 kTPL54,       
-                 kTPL55,       
-                 kTPL56,       
-                 kTPL57,       
-                 kTPL58,       
-                 kTPL59,       
-                 kTPL5A,       
-                 kTPL5B,       
-                 kTPL5C,       
-                 kTPL5D,       
-                 kTPL5E,       
-                 kTPL5F,       
-                 kTPL60,       
-                 kTPL61,       
-                 kTPL62,       
-                 kTPL63,       
-                 kTPL64,       
-                 kTPL65,       
-                 kTPL66,       
-                 kTPL67,       
-                 kTPL68,       
-                 kTPL69,       
-                 kTPL6A,       
-                 kTPL6B,       
-                 kTPL6C,       
-                 kTPL6D,       
-                 kTPL6E,       
-                 kTPL6F,       
-                 kTPL70,       
-                 kTPL71,       
-                 kTPL72,       
-                 kTPL73,       
-                 kTPL74,       
-                 kTPL75,       
-                 kTPL76,       
-                 kTPL77,       
-                 kTPL78,       
-                 kTPL79,       
-                 kTPL7A,       
-                 kTPL7B,       
-                 kTPL7C,       
-                 kTPL7D,       
-                 kTPL7E,       
-                 kTPL7F,       
-                 kMEMRW,       
-                 kMEMCOR,      
-                 kDMDELA,      
-                 kDMDELS,      
-                 kLastReg };   // enum of all TRAP registers, to be used for access to them
-
-  inline const char* GetRegName(TrapReg_t reg)       { return fRegs[reg].name; }
-  inline UShort_t    GetRegAddress(TrapReg_t reg)    { return fRegs[reg].addr; }
-  inline UShort_t    GetRegNBits(TrapReg_t reg)      { return fRegs[reg].nbits; }
-  inline UInt_t      GetRegResetValue(TrapReg_t reg) { return fRegs[reg].res_val; }
-
-  Int_t GetTrapReg(TrapReg_t reg, Int_t det = -1, Int_t rob = -1, Int_t mcm = -1);
-  void PrintTrapReg(TrapReg_t reg, Int_t det = -1, Int_t rob = -1, Int_t mcm = -1);
-
-  Bool_t SetTrapReg(TrapReg_t reg, Int_t value, Int_t det = -1, Int_t rob = -1, Int_t mcm = -1);
-
-  Bool_t LoadConfig();
-
- protected:
-  static AliTRDtrapConfig *fgInstance;  // pointer to instance (singleton)
-
-  struct SimpleReg_t {
-    char      *name;   // Name of the register
-    UShort_t  addr;    // Address in GIO of TRAP
-    UShort_t  nbits;   // Number of bits, from 1 to 32
-    UInt_t    res_val; // reset value
-    SimpleReg_t(char *nnn = 0, UShort_t a = 0, UShort_t n = 0, UInt_t r = 0) : 
-      name(nnn), addr(a), nbits(n), res_val(r) {}
-  };
-
-  struct RegValue_t {
-    enum {
-      kInvalid = 0,
-      kGlobal,
-      kIndividual
-    } state;
-    union {
-      Int_t globalValue;
-      Int_t *individualValue;
-    };
-  };
-
-  SimpleReg_t fRegs[kLastReg];          // array of TRAP registers
-  RegValue_t fRegisterValue[kLastReg];  // array of TRAP register values in use
-
-/* not yet used
-  struct BlockDescr_t {
-    UShort_t addr;
-    UShort_t nregs;
-    UShort_t nbits;
-    UShort_t step;
-  };
-
-  struct CmdReg_t {
-    char *name;
-    UShort_t addr;
-  };
-
-  enum DbankProp_t { kDBankEmpty = 0,
-                   kDBankHeader,
-                   kDBankData,
-                   kDBankNoB,
-                   kDBankCRC,
-                   kDBankEHeader,
-                   kDBankSCSNData };
-*/
+\r
+#include <TObject.h>\r
+#include <TString.h>\r
+#include <TClonesArray.h>\r
+\r
+class AliTRDtrapConfig : public TObject\r
+{\r
+ public:\r
+  static AliTRDtrapConfig* Instance();\r
+\r
+  enum TrapReg_t { kSML0, \r
+                 kSML1, \r
+                 kSML2,\r
+                 kSMMODE,\r
+                 kNITM0,\r
+                 kNITM1,\r
+                 kNITM2,\r
+                 kNIP4D,\r
+                 kCPU0CLK,\r
+                 kCPU1CLK,\r
+                 kCPU2CLK,\r
+                 kCPU3CLK,\r
+                 kNICLK,\r
+                 kFILCLK,\r
+                 kPRECLK,\r
+                 kADCEN,\r
+                 kNIODE,\r
+                 kNIOCE,\r
+                 kNIIDE,\r
+                 kNIICE,\r
+                 kARBTIM,      \r
+                 kIA0IRQ0,     \r
+                 kIA0IRQ1,     \r
+                 kIA0IRQ2,     \r
+                 kIA0IRQ3,     \r
+                 kIA0IRQ4,     \r
+                 kIA0IRQ5,     \r
+                 kIA0IRQ6,     \r
+                 kIA0IRQ7,     \r
+                 kIA0IRQ8,     \r
+                 kIA0IRQ9,     \r
+                 kIA0IRQA,     \r
+                 kIA0IRQB,     \r
+                 kIA0IRQC,     \r
+                 kIRQSW0,      \r
+                 kIRQHW0,      \r
+                 kIRQHL0,      \r
+                 kIA1IRQ0,     \r
+                 kIA1IRQ1,     \r
+                 kIA1IRQ2,     \r
+                 kIA1IRQ3,     \r
+                 kIA1IRQ4,     \r
+                 kIA1IRQ5,     \r
+                 kIA1IRQ6,     \r
+                 kIA1IRQ7,     \r
+                 kIA1IRQ8,     \r
+                 kIA1IRQ9,     \r
+                 kIA1IRQA,     \r
+                 kIA1IRQB,     \r
+                 kIA1IRQC,     \r
+                 kIRQSW1,      \r
+                 kIRQHW1,      \r
+                 kIRQHL1,      \r
+                 kIA2IRQ0,     \r
+                 kIA2IRQ1,     \r
+                 kIA2IRQ2,     \r
+                 kIA2IRQ3,     \r
+                 kIA2IRQ4,     \r
+                 kIA2IRQ5,     \r
+                 kIA2IRQ6,     \r
+                 kIA2IRQ7,     \r
+                 kIA2IRQ8,     \r
+                 kIA2IRQ9,     \r
+                 kIA2IRQA,     \r
+                 kIA2IRQB,     \r
+                 kIA2IRQC,     \r
+                 kIRQSW2,      \r
+                 kIRQHW2,      \r
+                 kIRQHL2,      \r
+                 kIA3IRQ0,     \r
+                 kIA3IRQ1,     \r
+                 kIA3IRQ2,     \r
+                 kIA3IRQ3,     \r
+                 kIA3IRQ4,     \r
+                 kIA3IRQ5,     \r
+                 kIA3IRQ6,     \r
+                 kIA3IRQ7,     \r
+                 kIA3IRQ8,     \r
+                 kIA3IRQ9,     \r
+                 kIA3IRQA,     \r
+                 kIA3IRQB,     \r
+                 kIA3IRQC,     \r
+                 kIRQSW3,      \r
+                 kIRQHW3,      \r
+                 kIRQHL3,      \r
+                 kCTGDINI,     \r
+                 kCTGCTRL,     \r
+                 kC08CPU0,     \r
+                 kC09CPU0,     \r
+                 kC10CPU0,     \r
+                 kC11CPU0,     \r
+                 kC12CPUA,     \r
+                 kC13CPUA,     \r
+                 kC14CPUA,     \r
+                 kC15CPUA,     \r
+                 kC08CPU1,     \r
+                 kC09CPU1,     \r
+                 kC10CPU1,     \r
+                 kC11CPU1,     \r
+                 kC08CPU2,     \r
+                 kC09CPU2,     \r
+                 kC10CPU2,     \r
+                 kC11CPU2,     \r
+                 kC08CPU3,     \r
+                 kC09CPU3,     \r
+                 kC10CPU3,     \r
+                 kC11CPU3,     \r
+                 kNMOD,        \r
+                 kNDLY,        \r
+                 kNED,         \r
+                 kNTRO,        \r
+                 kNRRO,        \r
+                 kNES,         \r
+                 kNTP,         \r
+                 kNBND,        \r
+                 kNP0,         \r
+                 kNP1,         \r
+                 kNP2,         \r
+                 kNP3,         \r
+                 kNCUT,        \r
+                 kTPPT0,       \r
+                 kTPFS,        \r
+                 kTPFE,        \r
+                 kTPPGR,       \r
+                 kTPPAE,       \r
+                 kTPQS0,       \r
+                 kTPQE0,       \r
+                 kTPQS1,       \r
+                 kTPQE1,       \r
+                 kEBD,         \r
+                 kEBAQA,       \r
+                 kEBSIA,       \r
+                 kEBSF,        \r
+                 kEBSIM,       \r
+                 kEBPP,        \r
+                 kEBPC,        \r
+                 kEBIS,        \r
+                 kEBIT,        \r
+                 kEBIL,        \r
+                 kEBIN,        \r
+                 kFLBY,        \r
+                 kFPBY,        \r
+                 kFGBY,        \r
+                 kFTBY,        \r
+                 kFCBY,        \r
+                 kFPTC,        \r
+                 kFPNP,        \r
+                 kFPCL,        \r
+                 kFGTA,        \r
+                 kFGTB,        \r
+                 kFGCL,        \r
+                 kFTAL,        \r
+                 kFTLL,        \r
+                 kFTLS,        \r
+                 kFCW1,        \r
+                 kFCW2,        \r
+                 kFCW3,        \r
+                 kFCW4,        \r
+                 kFCW5,        \r
+                 kTPFP,        \r
+                 kTPHT,        \r
+                 kTPVT,        \r
+                 kTPVBY,       \r
+                 kTPCT,        \r
+                 kTPCL,        \r
+                 kTPCBY,       \r
+                 kTPD,         \r
+                 kTPCI0,       \r
+                 kTPCI1,       \r
+                 kTPCI2,       \r
+                 kTPCI3,       \r
+                 kADCMSK,      \r
+                 kADCINB,      \r
+                 kADCDAC,      \r
+                 kADCPAR,      \r
+                 kADCTST,      \r
+                 kSADCAZ,      \r
+                 kFGF0,        \r
+                 kFGF1,        \r
+                 kFGF2,        \r
+                 kFGF3,        \r
+                 kFGF4,        \r
+                 kFGF5,        \r
+                 kFGF6,        \r
+                 kFGF7,        \r
+                 kFGF8,        \r
+                 kFGF9,        \r
+                 kFGF10,       \r
+                 kFGF11,       \r
+                 kFGF12,       \r
+                 kFGF13,       \r
+                 kFGF14,       \r
+                 kFGF15,       \r
+                 kFGF16,       \r
+                 kFGF17,       \r
+                 kFGF18,       \r
+                 kFGF19,       \r
+                 kFGF20,       \r
+                 kFGA0,        \r
+                 kFGA1,        \r
+                 kFGA2,        \r
+                 kFGA3,        \r
+                 kFGA4,        \r
+                 kFGA5,        \r
+                 kFGA6,        \r
+                 kFGA7,        \r
+                 kFGA8,        \r
+                 kFGA9,        \r
+                 kFGA10,       \r
+                 kFGA11,       \r
+                 kFGA12,       \r
+                 kFGA13,       \r
+                 kFGA14,       \r
+                 kFGA15,       \r
+                 kFGA16,       \r
+                 kFGA17,       \r
+                 kFGA18,       \r
+                 kFGA19,       \r
+                 kFGA20,       \r
+                 kFLL00,       \r
+                 kFLL01,       \r
+                 kFLL02,       \r
+                 kFLL03,       \r
+                 kFLL04,       \r
+                 kFLL05,       \r
+                 kFLL06,       \r
+                 kFLL07,       \r
+                 kFLL08,       \r
+                 kFLL09,       \r
+                 kFLL0A,       \r
+                 kFLL0B,       \r
+                 kFLL0C,       \r
+                 kFLL0D,       \r
+                 kFLL0E,       \r
+                 kFLL0F,       \r
+                 kFLL10,       \r
+                 kFLL11,       \r
+                 kFLL12,       \r
+                 kFLL13,       \r
+                 kFLL14,       \r
+                 kFLL15,       \r
+                 kFLL16,       \r
+                 kFLL17,       \r
+                 kFLL18,       \r
+                 kFLL19,       \r
+                 kFLL1A,       \r
+                 kFLL1B,       \r
+                 kFLL1C,       \r
+                 kFLL1D,       \r
+                 kFLL1E,       \r
+                 kFLL1F,       \r
+                 kFLL20,       \r
+                 kFLL21,       \r
+                 kFLL22,       \r
+                 kFLL23,       \r
+                 kFLL24,       \r
+                 kFLL25,       \r
+                 kFLL26,       \r
+                 kFLL27,       \r
+                 kFLL28,       \r
+                 kFLL29,       \r
+                 kFLL2A,       \r
+                 kFLL2B,       \r
+                 kFLL2C,       \r
+                 kFLL2D,       \r
+                 kFLL2E,       \r
+                 kFLL2F,       \r
+                 kFLL30,       \r
+                 kFLL31,       \r
+                 kFLL32,       \r
+                 kFLL33,       \r
+                 kFLL34,       \r
+                 kFLL35,       \r
+                 kFLL36,       \r
+                 kFLL37,       \r
+                 kFLL38,       \r
+                 kFLL39,       \r
+                 kFLL3A,       \r
+                 kFLL3B,       \r
+                 kFLL3C,       \r
+                 kFLL3D,       \r
+                 kFLL3E,       \r
+                 kFLL3F,       \r
+                 kPASADEL,     \r
+                 kPASAPHA,     \r
+                 kPASAPRA,     \r
+                 kPASADAC,     \r
+                 kPASACHM,     \r
+                 kPASASTL,     \r
+                 kPASAPR1,     \r
+                 kPASAPR0,     \r
+                 kSADCTRG,     \r
+                 kSADCRUN,     \r
+                 kSADCPWR,     \r
+                 kL0TSIM,      \r
+                 kSADCEC,      \r
+                 kSADCMC,      \r
+                 kSADCOC,      \r
+                 kSADCGTB,     \r
+                 kSEBDEN,      \r
+                 kSEBDOU,      \r
+                 kTPL00,       \r
+                 kTPL01,       \r
+                 kTPL02,       \r
+                 kTPL03,       \r
+                 kTPL04,       \r
+                 kTPL05,       \r
+                 kTPL06,       \r
+                 kTPL07,       \r
+                 kTPL08,       \r
+                 kTPL09,       \r
+                 kTPL0A,       \r
+                 kTPL0B,       \r
+                 kTPL0C,       \r
+                 kTPL0D,       \r
+                 kTPL0E,       \r
+                 kTPL0F,       \r
+                 kTPL10,       \r
+                 kTPL11,       \r
+                 kTPL12,       \r
+                 kTPL13,       \r
+                 kTPL14,       \r
+                 kTPL15,       \r
+                 kTPL16,       \r
+                 kTPL17,       \r
+                 kTPL18,       \r
+                 kTPL19,       \r
+                 kTPL1A,       \r
+                 kTPL1B,       \r
+                 kTPL1C,       \r
+                 kTPL1D,       \r
+                 kTPL1E,       \r
+                 kTPL1F,       \r
+                 kTPL20,       \r
+                 kTPL21,       \r
+                 kTPL22,       \r
+                 kTPL23,       \r
+                 kTPL24,       \r
+                 kTPL25,       \r
+                 kTPL26,       \r
+                 kTPL27,       \r
+                 kTPL28,       \r
+                 kTPL29,       \r
+                 kTPL2A,       \r
+                 kTPL2B,       \r
+                 kTPL2C,       \r
+                 kTPL2D,       \r
+                 kTPL2E,       \r
+                 kTPL2F,       \r
+                 kTPL30,       \r
+                 kTPL31,       \r
+                 kTPL32,       \r
+                 kTPL33,       \r
+                 kTPL34,       \r
+                 kTPL35,       \r
+                 kTPL36,       \r
+                 kTPL37,       \r
+                 kTPL38,       \r
+                 kTPL39,       \r
+                 kTPL3A,       \r
+                 kTPL3B,       \r
+                 kTPL3C,       \r
+                 kTPL3D,       \r
+                 kTPL3E,       \r
+                 kTPL3F,       \r
+                 kTPL40,       \r
+                 kTPL41,       \r
+                 kTPL42,       \r
+                 kTPL43,       \r
+                 kTPL44,       \r
+                 kTPL45,       \r
+                 kTPL46,       \r
+                 kTPL47,       \r
+                 kTPL48,       \r
+                 kTPL49,       \r
+                 kTPL4A,       \r
+                 kTPL4B,       \r
+                 kTPL4C,       \r
+                 kTPL4D,       \r
+                 kTPL4E,       \r
+                 kTPL4F,       \r
+                 kTPL50,       \r
+                 kTPL51,       \r
+                 kTPL52,       \r
+                 kTPL53,       \r
+                 kTPL54,       \r
+                 kTPL55,       \r
+                 kTPL56,       \r
+                 kTPL57,       \r
+                 kTPL58,       \r
+                 kTPL59,       \r
+                 kTPL5A,       \r
+                 kTPL5B,       \r
+                 kTPL5C,       \r
+                 kTPL5D,       \r
+                 kTPL5E,       \r
+                 kTPL5F,       \r
+                 kTPL60,       \r
+                 kTPL61,       \r
+                 kTPL62,       \r
+                 kTPL63,       \r
+                 kTPL64,       \r
+                 kTPL65,       \r
+                 kTPL66,       \r
+                 kTPL67,       \r
+                 kTPL68,       \r
+                 kTPL69,       \r
+                 kTPL6A,       \r
+                 kTPL6B,       \r
+                 kTPL6C,       \r
+                 kTPL6D,       \r
+                 kTPL6E,       \r
+                 kTPL6F,       \r
+                 kTPL70,       \r
+                 kTPL71,       \r
+                 kTPL72,       \r
+                 kTPL73,       \r
+                 kTPL74,       \r
+                 kTPL75,       \r
+                 kTPL76,       \r
+                 kTPL77,       \r
+                 kTPL78,       \r
+                 kTPL79,       \r
+                 kTPL7A,       \r
+                 kTPL7B,       \r
+                 kTPL7C,       \r
+                 kTPL7D,       \r
+                 kTPL7E,       \r
+                 kTPL7F,       \r
+                 kMEMRW,       \r
+                 kMEMCOR,      \r
+                 kDMDELA,      \r
+                 kDMDELS,      \r
+                 kLastReg };   // enum of all TRAP registers, to be used for access to them\r
+\r
+  const char* GetRegName(TrapReg_t reg)       const { return fRegs[reg].fName.Data(); }\r
+  UShort_t    GetRegAddress(TrapReg_t reg)    const { return fRegs[reg].fAddr; }\r
+  UShort_t    GetRegNBits(TrapReg_t reg)      const { return fRegs[reg].fNbits; }\r
+  UInt_t      GetRegResetValue(TrapReg_t reg) const { return fRegs[reg].fResetValue; }\r
+\r
+  TrapReg_t          GetRegByAddress(Int_t address) const;\r
+\r
+  Int_t  GetTrapReg(TrapReg_t reg, Int_t det = -1, Int_t rob = -1, Int_t mcm = -1);\r
+  Bool_t PrintTrapReg(TrapReg_t reg, Int_t det = -1, Int_t rob = -1, Int_t mcm = -1);\r
+  Bool_t PrintTrapAddr(Int_t addr, Int_t det = -1, Int_t rob = -1, Int_t mcm = -1);\r
+\r
+  Bool_t SetTrapReg(TrapReg_t reg, Int_t value);\r
+  Bool_t SetTrapReg(TrapReg_t reg, Int_t value, Int_t det);\r
+  Bool_t SetTrapReg(TrapReg_t reg, Int_t value, Int_t det, Int_t rob, Int_t mcm);\r
+\r
+  void InitRegs();\r
+  void ResetRegs();\r
+\r
+  Bool_t LoadConfig();\r
+  Bool_t LoadConfig(Int_t det, TString filename);\r
+\r
+  Int_t  ExtAliToAli( UInt_t dest, UShort_t linkpair, UShort_t rocType);\r
+\r
+ protected:\r
+  static AliTRDtrapConfig *fgInstance;  // pointer to instance (singleton)\r
+\r
+  struct SimpleReg_t {\r
+    TString   fName;       // Name of the register\r
+    UShort_t  fAddr;       // Address in GIO of TRAP\r
+    UShort_t  fNbits;      // Number of bits, from 1 to 32\r
+    UInt_t    fResetValue; // reset value\r
+    SimpleReg_t(char *nnn = 0, UShort_t a = 0, UShort_t n = 0, UInt_t r = 0) : \r
+      fName(nnn), fAddr(a), fNbits(n), fResetValue(r) {}\r
+  };\r
+\r
+  struct RegValue_t {\r
+    enum {\r
+      kInvalid = 0,\r
+      kGlobal,\r
+      kIndividual\r
+    } state; // mode of storage (global or per MCM)\r
+    union {\r
+      Int_t globalValue;\r
+      Int_t *individualValue;\r
+    };\r
+  };\r
+\r
+  SimpleReg_t fRegs[kLastReg];          // array of TRAP registers\r
+  RegValue_t fRegisterValue[kLastReg];  // array of TRAP register values in use\r
+\r
+  Bool_t AddValues(UInt_t det, UInt_t cmd, UInt_t extali, UInt_t addr, UInt_t data);\r
+  Short_t GetRobAB( UShort_t robsel, UShort_t linkpair ) const;  // Converts the ROB part of the extended ALICE ID to robs\r
+  Short_t ChipmaskToMCMlist( Int_t cmA, Int_t cmB, UShort_t linkpair ); // Converts the chipmask to a list of MCMs \r
+\r
+  static const UInt_t fgkScsnCmdWrite=10;  // Command number for the write command \r
+  static const Int_t fgkMaxLinkPairs=4;    // number of linkpairs used during configuration\r
+  static const Int_t fgkMaxMcm;            // max. no. of MCMs to be treated\r
+  static const Int_t fgkMcmlistSize=256;     // list of MCMs to which a value has to be written\r
+\r
+  Int_t fMcmlist[fgkMcmlistSize];  // stores the list of MCMs after the conversion from extAliID -> AliID\r
+\r
+  AliTRDtrapConfig(); // private constructor due to singleton implementation\r
+\r
+/* not yet used\r
+  struct BlockDescr_t {\r
+    UShort_t addr;\r
+    UShort_t nregs;\r
+    UShort_t nbits;\r
+    UShort_t step;\r
+  };\r
+\r
+  struct CmdReg_t {\r
+    char *name;\r
+    UShort_t addr;\r
+  };\r
+\r
+  enum DbankProp_t { kDBankEmpty = 0,\r
+                   kDBankHeader,\r
+                   kDBankData,\r
+                   kDBankNoB,\r
+                   kDBankCRC,\r
+                   kDBankEHeader,\r
+                   kDBankSCSNData };\r
+*/\r
+\r
 
  private:
-  AliTRDtrapConfig();
-
-  ClassDef(AliTRDtrapConfig, 1);
-};
+  AliTRDtrapConfig& operator=(const AliTRDtrapConfig &rhs); // not implemented
+  AliTRDtrapConfig(const AliTRDtrapConfig& cfg); // not implemented
 
-#endif
+  ClassDef(AliTRDtrapConfig, 2);\r
+};\r
+\r
+#endif\r
+\r