Introduce smaller AliTRDCalDCSFEEv2 object (Frederick)
[u/mrichter/AliRoot.git] / TRD / Cal / AliTRDCalDCSFEEv2.h
1 #ifndef ALITRDCALDCSFEEV2_H\r
2 #define ALITRDCALDCSFEEV2_H\r
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *\r
4  * See cxx source for full Copyright notice                               */\r
5 \r
6 /* $Id: AliTRDCalDCSFEEv2.h 18952 2007-06-08 11:36:12Z cblume $ */\r
7 \r
8 ///////////////////////////////////////////////////////////////////////////////\r
9 //                                                                           //\r
10 //  TRD calibration class for FEE configuration parameters                   //\r
11 //                                                                           //\r
12 ///////////////////////////////////////////////////////////////////////////////\r
13 \r
14 #include "TObject.h"\r
15 #include "TString.h"\r
16 \r
17 //class TString;\r
18 \r
19 class AliTRDCalDCSFEEv2 : public TObject {\r
20 \r
21  public:\r
22 \r
23   AliTRDCalDCSFEEv2();\r
24   AliTRDCalDCSFEEv2(const AliTRDCalDCSFEEv2 &c);\r
25   virtual ~AliTRDCalDCSFEEv2() { };\r
26   AliTRDCalDCSFEEv2 &operator=(const AliTRDCalDCSFEEv2 &c);\r
27 \r
28   void    SetStatusBit(Int_t stbit)                  { fStatusBit           = (Char_t)stbit;        }\r
29   void    SetDCSid(Int_t dcsid)                      { fDCSID               = (Char_t)dcsid;        }\r
30   void    SetSM(Int_t smid)                          { fSM                  = (Char_t)smid;         }\r
31   void    SetStack(Int_t stid)                       { fStack               = (Char_t)stid;         }\r
32   void    SetLayer(Int_t lyid)                       { fLayer               = (Char_t)lyid;         }\r
33   void    SetNumberOfTimeBins(Int_t value)           { fNumberOfTimeBins    = (UShort_t)value;      }\r
34   void    SetConfigTag(Int_t cfgt)                   { fConfigTag           = (UShort_t)cfgt;       }\r
35   void    SetSingleHitThres(Int_t sht)               { fSingleHitThres      = (Short_t)sht;         }\r
36   void    SetThreePadClustThres(Int_t tpct)          { fThrPdClsThres       = (Short_t)tpct;        }\r
37   void    SetSelectiveNoZS(Int_t snzs)               { fSelNoZS             = (Short_t)snzs;        }\r
38   void    SetFastStatNoise(Int_t fstn)               { fFastStatNoise       = (Short_t)fstn;        }\r
39   void    SetTCFilterWeight(Int_t tcfw)              { fTCFilterWeight      = (Short_t)tcfw;        }\r
40   void    SetTCFilterShortDecPar(Int_t sdp)          { fTCFilterShortDecPar = (Short_t)sdp;         }\r
41   void    SetTCFilterLongDecPar(Int_t ldp)           { fTCFilterLongDecPar  = (Short_t)ldp;         }\r
42   void    SetGainTableRocSerial(Int_t gts)           { fGainTableRocSerial  = (UChar_t)gts;         }\r
43   void    SetFilterType(TString fity)                { fFilterType          = fity;                 }\r
44   void    SetReadoutParam(TString rpar)              { fReadoutParam        = rpar;                 }\r
45   void    SetTestPattern(TString tpat)               { fTestPattern         = tpat;                 }\r
46   void    SetTrackletMode(TString tmde)              { fTrackletMode        = tmde;                 }\r
47   void    SetTrackletDef(TString tdef)               { fTrackletDef         = tdef;                 }\r
48   void    SetTriggerSetup(TString trse)              { fTriggerSetup        = trse;                 }\r
49   void    SetAddOptions(TString adop)                { fAddOptions          = adop;                 }\r
50   void    SetConfigName(TString cfgn)                { fConfigName          = cfgn;                 }\r
51   void    SetConfigVersion(TString cfgv)             { fConfigVersion       = cfgv;                 }\r
52   void    SetGainTableName(TString gt)               { fGainTableName       = gt;                   }\r
53   void    SetGainTableDesc(TString gd)               { fGainTableDesc       = gd;                   }\r
54   void    SetGainTableRocType(TString gr)            { fGainTableRocType    = gr;                   }\r
55   void    SetMCMGlobalState(Int_t r,Int_t m,Int_t g) { fRStateGSM[r][m]     = g;                    }\r
56   void    SetMCMStateNI(Int_t r,Int_t m,Int_t v)     { fRStateNI[r][m]      = v;                    }\r
57   void    SetMCMEventCnt(Int_t r,Int_t m,Int_t v)    { fRStateEV[r][m]      = v;                    }\r
58   void    SetMCMPtCnt(Int_t r,Int_t m,Int_t v)       { fRStatePTRG[r][m]    = v;                    }\r
59   void    SetGainTableAdcdac(Int_t r,Int_t m,Int_t v){ fGainTableAdcdac[r][m]         = (Char_t)v;  }\r
60   void    SetGainTableFgfn(Int_t r,Int_t m,Int_t a,Int_t v) { fGainTableFgfn[r][m][a] = (Short_t)v; }\r
61   void    SetGainTableFgan(Int_t r,Int_t m,Int_t a,Int_t v) { fGainTableFgan[r][m][a] = (Char_t)v;  }\r
62 \r
63   Int_t   GetStatusBit() const                       { return (Int_t)fStatusBit;                    }\r
64   Int_t   GetDCSid() const                           { return (Int_t)fDCSID;                        }\r
65   Int_t   GetSM() const                              { return (Int_t)fSM;                           }\r
66   Int_t   GetStack() const                           { return (Int_t)fStack;                        }\r
67   Int_t   GetLayer() const                           { return (Int_t)fLayer;                        }\r
68   Int_t   GetNumberOfTimeBins() const                { return (Int_t)fNumberOfTimeBins;             }\r
69   Int_t   GetConfigTag() const                       { return (Int_t)fConfigTag;                    }\r
70   Int_t   GetSingleHitThres() const                  { return (Int_t)fSingleHitThres;               }\r
71   Int_t   GetThreePadClustThres() const              { return (Int_t)fThrPdClsThres;                }\r
72   Int_t   GetSelectiveNoZS() const                   { return (Int_t)fSelNoZS;                      }\r
73   Int_t   GetTCFilterWeight() const                  { return (Int_t)fTCFilterWeight;               }\r
74   Int_t   GetTCFilterShortDecPar() const             { return (Int_t)fTCFilterShortDecPar;          }\r
75   Int_t   GetTCFilterLongDecPar() const              { return (Int_t)fTCFilterLongDecPar;           }\r
76   Int_t   GetFastStatNoise() const                   { return (Int_t)fFastStatNoise;                }\r
77   Int_t   GetGainTableRocSerial() const              { return (Int_t)fGainTableRocSerial;           }\r
78   TString GetFilterType() const                      { return fFilterType;                          }\r
79   TString GetReadoutParam() const                    { return fReadoutParam;                        }\r
80   TString GetTestPattern() const                     { return fTestPattern;                         }\r
81   TString GetTrackletMode() const                    { return fTrackletMode;                        }\r
82   TString GetTrackletDef() const                     { return fTrackletDef;                         }\r
83   TString GetTriggerSetup() const                    { return fTriggerSetup;                        }\r
84   TString GetAddOptions() const                      { return fAddOptions;                          }\r
85   TString GetConfigName() const                      { return fConfigName;                          }\r
86   TString GetConfigVersion() const                   { return fConfigVersion;                       }\r
87   TString GetGainTableName() const                   { return fGainTableName;                       }\r
88   TString GetGainTableDesc() const                   { return fGainTableDesc;                       }\r
89   TString GetGainTableRocType() const                { return fGainTableRocType;                    }\r
90   Int_t   GetMCMGlobalState(Int_t r,Int_t m) const   { return (UChar_t)fRStateGSM[r][m];            }\r
91   Int_t   GetMCMStateNI(Int_t r,Int_t m) const       { return (UChar_t)fRStateNI[r][m];             }\r
92   Int_t   GetMCMEventCnt(Int_t r,Int_t m) const      { return fRStateEV[r][m];                      }\r
93   Int_t   GetMCMPtCnt(Int_t r,Int_t m) const         { return fRStatePTRG[r][m];                    }\r
94   Int_t   GetGainTableAdcdac(Int_t r,Int_t m) const  { return (Int_t)fGainTableAdcdac[r][m];        }\r
95   Int_t   GetGainTableFgfn(Int_t r,Int_t m,Int_t a) const  { return (Int_t)fGainTableFgfn[r][m][a]; }\r
96   Int_t   GetGainTableFgan(Int_t r,Int_t m,Int_t a) const  { return (Int_t)fGainTableFgan[r][m][a]; }\r
97 \r
98  protected:\r
99 \r
100   static const Char_t fgkROB = 8;       // Number of readout boards\r
101   static const Char_t fgkMCM = 18;      // Number of MCMs\r
102   static const Char_t fgkADC = 21;      // Number of ADC channels\r
103   \r
104   Char_t   fStatusBit;                  // 0 if everything is OK, otherwise !=0 (see impl. file)\r
105   Char_t   fSM;                         // the number of the supermode 0..17\r
106   Char_t   fStack;                      // the number of the stack 0..4\r
107   Char_t   fLayer;                      // the number of the layer 0..5\r
108   Char_t   fGainTableFgan[(Int_t)fgkROB][(Int_t)fgkMCM][(Int_t)fgkADC]; // array of gain table fgan values\r
109   Char_t   fGainTableAdcdac[(Int_t)fgkROB][(Int_t)fgkMCM]; // array of gain table adcdac values\r
110   UChar_t  fRStateGSM[(Int_t)fgkROB][(Int_t)fgkMCM];  // array of the global states of the MCMs\r
111   UChar_t  fRStateNI[(Int_t)fgkROB][(Int_t)fgkMCM];   // array of the network interface states of the MCMs\r
112   UChar_t  fGainTableRocSerial;         // the roc serial of the chamber from the gain table\r
113   UShort_t fDCSID;                      // ID of the DCS-Board\r
114   UShort_t fNumberOfTimeBins;           // Number of timebins  \r
115   UShort_t fConfigTag;                  // Configuration tag\r
116   Short_t  fSingleHitThres;             // threshold of single hits (arg of readout param)\r
117   Short_t  fThrPdClsThres;              // threshold of 3-pad clusters (arg of readout param)\r
118   Short_t  fSelNoZS;                    // write every fSelNoZS'th event without ZS\r
119   Short_t  fTCFilterWeight;             // tail cancellation filter weight\r
120   Short_t  fTCFilterShortDecPar;        // tail cancellation filter short decay parameter\r
121   Short_t  fTCFilterLongDecPar;         // tail cancellation filter long decay parameter\r
122   Short_t  fFastStatNoise;              // collect statistics for fast noise mode\r
123   Short_t  fGainTableFgfn[(Int_t)fgkROB][(Int_t)fgkMCM][(Int_t)fgkADC]; // array of gain table fgfn values\r
124   Int_t    fRStateEV[(Int_t)fgkROB][(Int_t)fgkMCM];   // array of the event counters of the MCMs\r
125   Int_t    fRStatePTRG[(Int_t)fgkROB][(Int_t)fgkMCM]; // array of the pretrigger counters of the MCMs\r
126   TString  fGainTableRocType;           // the roc type from the gain table\r
127   TString  fFilterType;                 // filter type (p, pgt, nf)\r
128   TString  fReadoutParam;               // readout parameter (zs, nozs, testpattern)\r
129   TString  fTestPattern;                // value of testpattern (for readout param)\r
130   TString  fTrackletMode;               // tracklet mode (trk, csmtrk, notrk)\r
131   TString  fTrackletDef;                // definition for tracklet mode trk\r
132   TString  fTriggerSetup;               // trigger setup (ptrg, autotrg, autol0)\r
133   TString  fAddOptions;                 // additional options (nopm, nion)\r
134   TString  fConfigName;                 // Configuration name\r
135   TString  fConfigVersion;              // Configuration version\r
136   TString  fGainTableName;              // the name of the gain table\r
137   TString  fGainTableDesc;              // the description of the gain table\r
138 \r
139   ClassDef(AliTRDCalDCSFEEv2,1)          // TRD calibration class for TRD FEE parameters\r
140 };\r
141 #endif\r