]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TRD/Cal/AliTRDCalDCSFEEv2.cxx
Add online gain tables (Annika)
[u/mrichter/AliRoot.git] / TRD / Cal / AliTRDCalDCSFEEv2.cxx
1 /**************************************************************************\r
2  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *\r
3  *                                                                        *\r
4  * Author: The ALICE Off-line Project.                                    *\r
5  * Contributors are mentioned in the code where appropriate.              *\r
6  *                                                                        *\r
7  * Permission to use, copy, modify and distribute this software and its   *\r
8  * documentation strictly for non-commercial purposes is hereby granted   *\r
9  * without fee, provided that the above copyright notice appears in all   *\r
10  * copies and that both the copyright notice and this permission notice   *\r
11  * appear in the supporting documentation. The authors make no claims     *\r
12  * about the suitability of this software for any purpose. It is          *\r
13  * provided "as is" without express or implied warranty.                  *\r
14  **************************************************************************/\r
15 \r
16 /* $Id: AliTRDCalDCSFEEv2.cxx 18952 2007-06-08 11:36:12Z cblume $ */\r
17 \r
18 ///////////////////////////////////////////////////////////////////////////////\r
19 //                                                                           //\r
20 //  TRD calibration class for TRD DCS FEE configuration parameters           //\r
21 //                                                                           //\r
22 ///////////////////////////////////////////////////////////////////////////////\r
23 \r
24 // fStatusBit:\r
25 // 0: no errors for that ROC\r
26 // 1: ROC sent invalid or corrupted data. \r
27 // 2: ROC was not in state CONFIGURED or STANDBY_INIT (most probably it was in STANDBY)\r
28 // 3: No new data received from that ROC.\r
29 // 4: DCS id from XML attributes <DCS> and <ack> and the one calculated from SM, S, L do not match\r
30 // 5: ROC has not responded at all, most probably it was off.\r
31 \r
32 #include "AliTRDCalDCSFEEv2.h"\r
33 \r
34 ClassImp(AliTRDCalDCSFEEv2)\r
35   \r
36 //_____________________________________________________________________________\r
37 AliTRDCalDCSFEEv2::AliTRDCalDCSFEEv2()\r
38   :TObject()\r
39   ,fStatusBit(0)\r
40   ,fSM(-1)\r
41   ,fStack(-1)\r
42   ,fLayer(-1)\r
43   ,fGainTableRocSerial(0)\r
44   ,fDCSID(-1)\r
45   ,fNumberOfTimeBins(-1)\r
46   ,fConfigTag(-1)\r
47   ,fSingleHitThres(-1)\r
48   ,fThrPdClsThres(-1)\r
49   ,fSelNoZS(-1)\r
50   ,fTCFilterWeight(-1)\r
51   ,fTCFilterShortDecPar(-1)\r
52   ,fTCFilterLongDecPar(-1)\r
53   ,fFastStatNoise(-1)\r
54   ,fGainTableRocType("")\r
55   ,fFilterType("")\r
56   ,fReadoutParam("")\r
57   ,fTestPattern("")\r
58   ,fTrackletMode("")\r
59   ,fTrackletDef("")\r
60   ,fTriggerSetup("")\r
61   ,fAddOptions("") \r
62   ,fConfigName("")\r
63   ,fConfigVersion("")\r
64   ,fGainTableName("")\r
65   ,fGainTableDesc("")\r
66 {\r
67   //\r
68   // AliTRDCalDCSFEEv2 default constructor\r
69   //\r
70   for(Int_t i=0; i<(Int_t)fgkROB; i++) {\r
71     for(Int_t j=0; j<(Int_t)fgkMCM; j++) {\r
72       fRStateGSM[i][j]  = -1;\r
73       fRStateNI[i][j]   = -1;\r
74       fRStateEV[i][j]   = -1;\r
75       fRStatePTRG[i][j] = -1;\r
76       fGainTableAdcdac[i][j] = -1;\r
77       for(Int_t k=0; k<(Int_t)fgkADC; k++) {\r
78         fGainTableFgfn[i][j][k] = -1;\r
79         fGainTableFgan[i][j][k] = -1;\r
80       }\r
81     }\r
82   }\r
83 }\r
84 \r
85 \r
86 //_____________________________________________________________________________\r
87 AliTRDCalDCSFEEv2::AliTRDCalDCSFEEv2(const AliTRDCalDCSFEEv2 &c)\r
88   :TObject(c)\r
89   ,fStatusBit(c.fStatusBit)\r
90   ,fSM(c.fSM)\r
91   ,fStack(c.fStack)\r
92   ,fLayer(c.fLayer)\r
93   ,fGainTableRocSerial(c.fGainTableRocSerial)\r
94   ,fDCSID(c.fDCSID)\r
95   ,fNumberOfTimeBins(c.fNumberOfTimeBins)\r
96   ,fConfigTag(c.fConfigTag)\r
97   ,fSingleHitThres(c.fSingleHitThres)\r
98   ,fThrPdClsThres(c.fThrPdClsThres)\r
99   ,fSelNoZS(c.fSelNoZS)\r
100   ,fTCFilterWeight(c.fTCFilterWeight)\r
101   ,fTCFilterShortDecPar(c.fTCFilterShortDecPar)\r
102   ,fTCFilterLongDecPar(c.fTCFilterLongDecPar)\r
103   ,fFastStatNoise(c.fFastStatNoise)\r
104   ,fGainTableRocType(c.fGainTableRocType)\r
105   ,fFilterType(c.fFilterType)\r
106   ,fReadoutParam(c.fReadoutParam)\r
107   ,fTestPattern(c.fTestPattern)\r
108   ,fTrackletMode(c.fTrackletMode)\r
109   ,fTrackletDef(c.fTrackletDef)\r
110   ,fTriggerSetup(c.fTriggerSetup)\r
111   ,fAddOptions(c.fAddOptions) \r
112   ,fConfigName(c.fConfigName)\r
113   ,fConfigVersion(c.fConfigVersion)\r
114   ,fGainTableName(c.fGainTableName)\r
115   ,fGainTableDesc(c.fGainTableDesc)\r
116 {\r
117   //\r
118   // AliTRDCalDCSFEEv2 copy constructor\r
119   //\r
120   for(Int_t i=0; i<(Int_t)fgkROB; i++) {\r
121     for(Int_t j=0; j<(Int_t)fgkMCM; j++) {\r
122       fRStateGSM[i][j]  = c.fRStateGSM[i][j];\r
123       fRStateNI[i][j]   = c.fRStateNI[i][j];\r
124       fRStateEV[i][j]   = c.fRStateEV[i][j];\r
125       fRStatePTRG[i][j] = c.fRStatePTRG[i][j];\r
126       fGainTableAdcdac[i][j] = c.fGainTableAdcdac[i][j];\r
127       for(Int_t k=0; k<(Int_t)fgkADC; k++) {\r
128         fGainTableFgfn[i][j][k] = c.fGainTableFgfn[i][j][k];\r
129         fGainTableFgan[i][j][k] = c.fGainTableFgan[i][j][k];\r
130       }\r
131     }\r
132   }\r
133 }\r
134 \r
135 \r
136 //_____________________________________________________________________________\r
137 AliTRDCalDCSFEEv2 &AliTRDCalDCSFEEv2::operator=(const AliTRDCalDCSFEEv2 &c)\r
138 {\r
139   //\r
140   // Assignment operator\r
141   //\r
142   if (&c == this) return *this;\r
143 \r
144   new (this) AliTRDCalDCSFEEv2(c);\r
145   return *this;\r
146 }\r
147 \r