Introduce smaller AliTRDCalDCSFEEv2 object (Frederick)
[u/mrichter/AliRoot.git] / TRD / Cal / AliTRDCalDCSFEEv2.h
CommitLineData
4a2eec96 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
19class 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