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
6 /* $Id: AliTRDCalDCSFEEv2.h 18952 2007-06-08 11:36:12Z cblume $ */
\r
8 ///////////////////////////////////////////////////////////////////////////////
\r
10 // TRD calibration class for FEE configuration parameters //
\r
12 ///////////////////////////////////////////////////////////////////////////////
\r
14 #include "TObject.h"
\r
15 #include "TString.h"
\r
19 class AliTRDCalDCSFEEv2 : public TObject {
\r
23 AliTRDCalDCSFEEv2();
\r
24 AliTRDCalDCSFEEv2(const AliTRDCalDCSFEEv2 &c);
\r
25 virtual ~AliTRDCalDCSFEEv2() { };
\r
26 AliTRDCalDCSFEEv2 &operator=(const AliTRDCalDCSFEEv2 &c);
\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
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
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
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
139 ClassDef(AliTRDCalDCSFEEv2,1) // TRD calibration class for TRD FEE parameters
\r