ROOT logo
#ifndef ALITRDCALDCSFEEV2_H
#define ALITRDCALDCSFEEV2_H
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

/* $Id: AliTRDCalDCSFEEv2.h 18952 2007-06-08 11:36:12Z cblume $ */

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
//  TRD calibration class for FEE configuration parameters                   //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////

#include "TObject.h"
#include "TString.h"

//class TString;

class AliTRDCalDCSFEEv2 : public TObject {

 public:

  AliTRDCalDCSFEEv2();
  AliTRDCalDCSFEEv2(const AliTRDCalDCSFEEv2 &c);
  virtual ~AliTRDCalDCSFEEv2() { };
  AliTRDCalDCSFEEv2 &operator=(const AliTRDCalDCSFEEv2 &c);

  void    SetStatusBit(Int_t stbit)                  { fStatusBit           = (Char_t)stbit;        }
  void    SetDCSid(Int_t dcsid)                      { fDCSID               = (Short_t)dcsid;       }
  void    SetSM(Int_t smid)                          { fSM                  = (Char_t)smid;         }
  void    SetStack(Int_t stid)                       { fStack               = (Char_t)stid;         }
  void    SetLayer(Int_t lyid)                       { fLayer               = (Char_t)lyid;         }
  void    SetNumberOfTimeBins(Int_t value)           { fNumberOfTimeBins    = (Short_t)value;       }
  void    SetConfigTag(Int_t cfgt)                   { fConfigTag           = (Short_t)cfgt;        }
  void    SetSingleHitThres(Int_t sht)               { fSingleHitThres      = (Short_t)sht;         }
  void    SetThreePadClustThres(Int_t tpct)          { fThrPdClsThres       = (Short_t)tpct;        }
  void    SetSelectiveNoZS(Int_t snzs)               { fSelNoZS             = (Short_t)snzs;        }
  void    SetFastStatNoise(Int_t fstn)               { fFastStatNoise       = (Short_t)fstn;        }
  void    SetTCFilterWeight(Int_t tcfw)              { fTCFilterWeight      = (Short_t)tcfw;        }
  void    SetTCFilterShortDecPar(Int_t sdp)          { fTCFilterShortDecPar = (Short_t)sdp;         }
  void    SetTCFilterLongDecPar(Int_t ldp)           { fTCFilterLongDecPar  = (Short_t)ldp;         }
  void    SetGainTableRocSerial(Int_t gts)           { fGainTableRocSerial  = (UChar_t)gts;         }
  void    SetFilterType(TString fity)                { fFilterType          = fity;                 }
  void    SetReadoutParam(TString rpar)              { fReadoutParam        = rpar;                 }
  void    SetTestPattern(TString tpat)               { fTestPattern         = tpat;                 }
  void    SetTrackletMode(TString tmde)              { fTrackletMode        = tmde;                 }
  void    SetTrackletDef(TString tdef)               { fTrackletDef         = tdef;                 }
  void    SetTriggerSetup(TString trse)              { fTriggerSetup        = trse;                 }
  void    SetAddOptions(TString adop)                { fAddOptions          = adop;                 }
  void    SetConfigName(TString cfgn)                { fConfigName          = cfgn;                 }
  void    SetConfigVersion(TString cfgv)             { fConfigVersion       = cfgv;                 }
  void    SetGainTableName(TString gt)               { fGainTableName       = gt;                   }
  void    SetGainTableDesc(TString gd)               { fGainTableDesc       = gd;                   }
  void    SetGainTableRocType(TString gr)            { fGainTableRocType    = gr;                   }
  void    SetMCMGlobalState(Int_t r,Int_t m,Int_t g) { fRStateGSM[r][m]     = (Char_t)g;            }
  void    SetMCMStateNI(Int_t r,Int_t m,Int_t v)     { fRStateNI[r][m]      = (Char_t)v;            }
  void    SetMCMEventCnt(Int_t r,Int_t m,Int_t v)    { fRStateEV[r][m]      = v;                    }
  void    SetMCMPtCnt(Int_t r,Int_t m,Int_t v)       { fRStatePTRG[r][m]    = v;                    }
  void    SetGainTableAdcdac(Int_t r,Int_t m,Int_t v){ fGainTableAdcdac[r][m]         = (Char_t)v;  }
  void    SetGainTableFgfn(Int_t r,Int_t m,Int_t a,Int_t v) { fGainTableFgfn[r][m][a] = (Short_t)v; }
  void    SetGainTableFgan(Int_t r,Int_t m,Int_t a,Int_t v) { fGainTableFgan[r][m][a] = (Char_t)v;  }

  Int_t   GetStatusBit() const                       { return (Int_t)fStatusBit;                    }
  Int_t   GetDCSid() const                           { return (Int_t)fDCSID;                        }
  Int_t   GetSM() const                              { return (Int_t)fSM;                           }
  Int_t   GetStack() const                           { return (Int_t)fStack;                        }
  Int_t   GetLayer() const                           { return (Int_t)fLayer;                        }
  Int_t   GetNumberOfTimeBins() const                { return (Int_t)fNumberOfTimeBins;             }
  Int_t   GetConfigTag() const                       { return (Int_t)fConfigTag;                    }
  Int_t   GetSingleHitThres() const                  { return (Int_t)fSingleHitThres;               }
  Int_t   GetThreePadClustThres() const              { return (Int_t)fThrPdClsThres;                }
  Int_t   GetSelectiveNoZS() const                   { return (Int_t)fSelNoZS;                      }
  Int_t   GetTCFilterWeight() const                  { return (Int_t)fTCFilterWeight;               }
  Int_t   GetTCFilterShortDecPar() const             { return (Int_t)fTCFilterShortDecPar;          }
  Int_t   GetTCFilterLongDecPar() const              { return (Int_t)fTCFilterLongDecPar;           }
  Int_t   GetFastStatNoise() const                   { return (Int_t)fFastStatNoise;                }
  Int_t   GetGainTableRocSerial() const              { return (Int_t)fGainTableRocSerial;           }
  TString GetFilterType() const                      { return fFilterType;                          }
  TString GetReadoutParam() const                    { return fReadoutParam;                        }
  TString GetTestPattern() const                     { return fTestPattern;                         }
  TString GetTrackletMode() const                    { return fTrackletMode;                        }
  TString GetTrackletDef() const                     { return fTrackletDef;                         }
  TString GetTriggerSetup() const                    { return fTriggerSetup;                        }
  TString GetAddOptions() const                      { return fAddOptions;                          }
  TString GetConfigName() const                      { return fConfigName;                          }
  TString GetConfigVersion() const                   { return fConfigVersion;                       }
  TString GetGainTableName() const                   { return fGainTableName;                       }
  TString GetGainTableDesc() const                   { return fGainTableDesc;                       }
  TString GetGainTableRocType() const                { return fGainTableRocType;                    }
  Int_t   GetMCMGlobalState(Int_t r,Int_t m) const   { return (Char_t)fRStateGSM[r][m];             }
  Int_t   GetMCMStateNI(Int_t r,Int_t m) const       { return (Char_t)fRStateNI[r][m];              }
  Int_t   GetMCMEventCnt(Int_t r,Int_t m) const      { return fRStateEV[r][m];                      }
  Int_t   GetMCMPtCnt(Int_t r,Int_t m) const         { return fRStatePTRG[r][m];                    }
  Int_t   GetGainTableAdcdac(Int_t r,Int_t m) const  { return (Int_t)fGainTableAdcdac[r][m];        }
  Int_t   GetGainTableFgfn(Int_t r,Int_t m,Int_t a) const  { return (Int_t)fGainTableFgfn[r][m][a]; }
  Int_t   GetGainTableFgan(Int_t r,Int_t m,Int_t a) const  { return (Int_t)fGainTableFgan[r][m][a]; }

 protected:

  static const Char_t fgkROB = 8;       // Number of readout boards
  static const Char_t fgkMCM = 18;      // Number of MCMs
  static const Char_t fgkADC = 21;      // Number of ADC channels
  
  Char_t   fStatusBit;                  // 0 if everything is OK, otherwise !=0 (see impl. file)
  Char_t   fSM;                         // the number of the supermode 0..17
  Char_t   fStack;                      // the number of the stack 0..4
  Char_t   fLayer;                      // the number of the layer 0..5
  Char_t   fGainTableFgan[(Int_t)fgkROB][(Int_t)fgkMCM][(Int_t)fgkADC]; // array of gain table fgan values
  Char_t   fGainTableAdcdac[(Int_t)fgkROB][(Int_t)fgkMCM]; // array of gain table adcdac values
  Char_t   fRStateGSM[(Int_t)fgkROB][(Int_t)fgkMCM];  // array of the global states of the MCMs
  Char_t   fRStateNI[(Int_t)fgkROB][(Int_t)fgkMCM];   // array of the network interface states of the MCMs
  UChar_t  fGainTableRocSerial;         // the roc serial of the chamber from the gain table
  Short_t  fDCSID;                      // ID of the DCS-Board
  Short_t  fNumberOfTimeBins;           // Number of timebins  
  Short_t  fConfigTag;                  // Configuration tag
  Short_t  fSingleHitThres;             // threshold of single hits (arg of readout param)
  Short_t  fThrPdClsThres;              // threshold of 3-pad clusters (arg of readout param)
  Short_t  fSelNoZS;                    // write every fSelNoZS'th event without ZS
  Short_t  fTCFilterWeight;             // tail cancellation filter weight
  Short_t  fTCFilterShortDecPar;        // tail cancellation filter short decay parameter
  Short_t  fTCFilterLongDecPar;         // tail cancellation filter long decay parameter
  Short_t  fFastStatNoise;              // collect statistics for fast noise mode
  Short_t  fGainTableFgfn[(Int_t)fgkROB][(Int_t)fgkMCM][(Int_t)fgkADC]; // array of gain table fgfn values
  Int_t    fRStateEV[(Int_t)fgkROB][(Int_t)fgkMCM];   // array of the event counters of the MCMs
  Int_t    fRStatePTRG[(Int_t)fgkROB][(Int_t)fgkMCM]; // array of the pretrigger counters of the MCMs
  TString  fGainTableRocType;           // the roc type from the gain table
  TString  fFilterType;                 // filter type (p, pgt, nf)
  TString  fReadoutParam;               // readout parameter (zs, nozs, testpattern)
  TString  fTestPattern;                // value of testpattern (for readout param)
  TString  fTrackletMode;               // tracklet mode (trk, csmtrk, notrk)
  TString  fTrackletDef;                // definition for tracklet mode trk
  TString  fTriggerSetup;               // trigger setup (ptrg, autotrg, autol0)
  TString  fAddOptions;                 // additional options (nopm, nion)
  TString  fConfigName;                 // Configuration name
  TString  fConfigVersion;              // Configuration version
  TString  fGainTableName;              // the name of the gain table
  TString  fGainTableDesc;              // the description of the gain table

  ClassDef(AliTRDCalDCSFEEv2,2)          // TRD calibration class for TRD FEE parameters
};
#endif
 AliTRDCalDCSFEEv2.h:1
 AliTRDCalDCSFEEv2.h:2
 AliTRDCalDCSFEEv2.h:3
 AliTRDCalDCSFEEv2.h:4
 AliTRDCalDCSFEEv2.h:5
 AliTRDCalDCSFEEv2.h:6
 AliTRDCalDCSFEEv2.h:7
 AliTRDCalDCSFEEv2.h:8
 AliTRDCalDCSFEEv2.h:9
 AliTRDCalDCSFEEv2.h:10
 AliTRDCalDCSFEEv2.h:11
 AliTRDCalDCSFEEv2.h:12
 AliTRDCalDCSFEEv2.h:13
 AliTRDCalDCSFEEv2.h:14
 AliTRDCalDCSFEEv2.h:15
 AliTRDCalDCSFEEv2.h:16
 AliTRDCalDCSFEEv2.h:17
 AliTRDCalDCSFEEv2.h:18
 AliTRDCalDCSFEEv2.h:19
 AliTRDCalDCSFEEv2.h:20
 AliTRDCalDCSFEEv2.h:21
 AliTRDCalDCSFEEv2.h:22
 AliTRDCalDCSFEEv2.h:23
 AliTRDCalDCSFEEv2.h:24
 AliTRDCalDCSFEEv2.h:25
 AliTRDCalDCSFEEv2.h:26
 AliTRDCalDCSFEEv2.h:27
 AliTRDCalDCSFEEv2.h:28
 AliTRDCalDCSFEEv2.h:29
 AliTRDCalDCSFEEv2.h:30
 AliTRDCalDCSFEEv2.h:31
 AliTRDCalDCSFEEv2.h:32
 AliTRDCalDCSFEEv2.h:33
 AliTRDCalDCSFEEv2.h:34
 AliTRDCalDCSFEEv2.h:35
 AliTRDCalDCSFEEv2.h:36
 AliTRDCalDCSFEEv2.h:37
 AliTRDCalDCSFEEv2.h:38
 AliTRDCalDCSFEEv2.h:39
 AliTRDCalDCSFEEv2.h:40
 AliTRDCalDCSFEEv2.h:41
 AliTRDCalDCSFEEv2.h:42
 AliTRDCalDCSFEEv2.h:43
 AliTRDCalDCSFEEv2.h:44
 AliTRDCalDCSFEEv2.h:45
 AliTRDCalDCSFEEv2.h:46
 AliTRDCalDCSFEEv2.h:47
 AliTRDCalDCSFEEv2.h:48
 AliTRDCalDCSFEEv2.h:49
 AliTRDCalDCSFEEv2.h:50
 AliTRDCalDCSFEEv2.h:51
 AliTRDCalDCSFEEv2.h:52
 AliTRDCalDCSFEEv2.h:53
 AliTRDCalDCSFEEv2.h:54
 AliTRDCalDCSFEEv2.h:55
 AliTRDCalDCSFEEv2.h:56
 AliTRDCalDCSFEEv2.h:57
 AliTRDCalDCSFEEv2.h:58
 AliTRDCalDCSFEEv2.h:59
 AliTRDCalDCSFEEv2.h:60
 AliTRDCalDCSFEEv2.h:61
 AliTRDCalDCSFEEv2.h:62
 AliTRDCalDCSFEEv2.h:63
 AliTRDCalDCSFEEv2.h:64
 AliTRDCalDCSFEEv2.h:65
 AliTRDCalDCSFEEv2.h:66
 AliTRDCalDCSFEEv2.h:67
 AliTRDCalDCSFEEv2.h:68
 AliTRDCalDCSFEEv2.h:69
 AliTRDCalDCSFEEv2.h:70
 AliTRDCalDCSFEEv2.h:71
 AliTRDCalDCSFEEv2.h:72
 AliTRDCalDCSFEEv2.h:73
 AliTRDCalDCSFEEv2.h:74
 AliTRDCalDCSFEEv2.h:75
 AliTRDCalDCSFEEv2.h:76
 AliTRDCalDCSFEEv2.h:77
 AliTRDCalDCSFEEv2.h:78
 AliTRDCalDCSFEEv2.h:79
 AliTRDCalDCSFEEv2.h:80
 AliTRDCalDCSFEEv2.h:81
 AliTRDCalDCSFEEv2.h:82
 AliTRDCalDCSFEEv2.h:83
 AliTRDCalDCSFEEv2.h:84
 AliTRDCalDCSFEEv2.h:85
 AliTRDCalDCSFEEv2.h:86
 AliTRDCalDCSFEEv2.h:87
 AliTRDCalDCSFEEv2.h:88
 AliTRDCalDCSFEEv2.h:89
 AliTRDCalDCSFEEv2.h:90
 AliTRDCalDCSFEEv2.h:91
 AliTRDCalDCSFEEv2.h:92
 AliTRDCalDCSFEEv2.h:93
 AliTRDCalDCSFEEv2.h:94
 AliTRDCalDCSFEEv2.h:95
 AliTRDCalDCSFEEv2.h:96
 AliTRDCalDCSFEEv2.h:97
 AliTRDCalDCSFEEv2.h:98
 AliTRDCalDCSFEEv2.h:99
 AliTRDCalDCSFEEv2.h:100
 AliTRDCalDCSFEEv2.h:101
 AliTRDCalDCSFEEv2.h:102
 AliTRDCalDCSFEEv2.h:103
 AliTRDCalDCSFEEv2.h:104
 AliTRDCalDCSFEEv2.h:105
 AliTRDCalDCSFEEv2.h:106
 AliTRDCalDCSFEEv2.h:107
 AliTRDCalDCSFEEv2.h:108
 AliTRDCalDCSFEEv2.h:109
 AliTRDCalDCSFEEv2.h:110
 AliTRDCalDCSFEEv2.h:111
 AliTRDCalDCSFEEv2.h:112
 AliTRDCalDCSFEEv2.h:113
 AliTRDCalDCSFEEv2.h:114
 AliTRDCalDCSFEEv2.h:115
 AliTRDCalDCSFEEv2.h:116
 AliTRDCalDCSFEEv2.h:117
 AliTRDCalDCSFEEv2.h:118
 AliTRDCalDCSFEEv2.h:119
 AliTRDCalDCSFEEv2.h:120
 AliTRDCalDCSFEEv2.h:121
 AliTRDCalDCSFEEv2.h:122
 AliTRDCalDCSFEEv2.h:123
 AliTRDCalDCSFEEv2.h:124
 AliTRDCalDCSFEEv2.h:125
 AliTRDCalDCSFEEv2.h:126
 AliTRDCalDCSFEEv2.h:127
 AliTRDCalDCSFEEv2.h:128
 AliTRDCalDCSFEEv2.h:129
 AliTRDCalDCSFEEv2.h:130
 AliTRDCalDCSFEEv2.h:131
 AliTRDCalDCSFEEv2.h:132
 AliTRDCalDCSFEEv2.h:133
 AliTRDCalDCSFEEv2.h:134
 AliTRDCalDCSFEEv2.h:135
 AliTRDCalDCSFEEv2.h:136
 AliTRDCalDCSFEEv2.h:137
 AliTRDCalDCSFEEv2.h:138
 AliTRDCalDCSFEEv2.h:139
 AliTRDCalDCSFEEv2.h:140
 AliTRDCalDCSFEEv2.h:141