]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TRD/Cal/AliTRDCalDCSFEE.cxx
Reduce memory consumption
[u/mrichter/AliRoot.git] / TRD / Cal / AliTRDCalDCSFEE.cxx
CommitLineData
6b36d985 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: AliTRDCalDCSFEE.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
7325586b 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
6b36d985 29// 4: DCS id from XML attributes <DCS> and <ack> and the one calculated from SM, S, L do not match\r
1b2ec594 30// 5: ROC has not responded at all, most probably it was off.\r
6b36d985 31\r
32#include "AliTRDCalDCSFEE.h"\r
33\r
34ClassImp(AliTRDCalDCSFEE)\r
35 \r
36//_____________________________________________________________________________\r
37AliTRDCalDCSFEE::AliTRDCalDCSFEE()\r
e8c635ba 38 :TObject()\r
6b36d985 39 ,fStatusBit(0)\r
1b2ec594 40 ,fSM(-1)\r
41 ,fStack(-1)\r
42 ,fLayer(-1)\r
e8c635ba 43 ,fGainTableRocSerial(0)\r
44 ,fDCSID(-1)\r
1b2ec594 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
3821ce70 54 ,fGainTableRocType("")\r
e8c635ba 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
3821ce70 64 ,fGainTableName("")\r
65 ,fGainTableDesc("")\r
6b36d985 66{\r
67 //\r
68 // AliTRDCalDCSFEE default constructor\r
69 //\r
e8c635ba 70 for(Int_t i=0; i<(Int_t)fgkROB; i++) {\r
71 for(Int_t j=0; j<(Int_t)fgkMCM; j++) {\r
1b2ec594 72 fRStateGSM[i][j] = -1;\r
73 fRStateNI[i][j] = -1;\r
74 fRStateEV[i][j] = -1;\r
75 fRStatePTRG[i][j] = -1;\r
3821ce70 76 fGainTableAdcdac[i][j] = -1;\r
e8c635ba 77 for(Int_t k=0; k<(Int_t)fgkADC; k++) {\r
3821ce70 78 fGainTableFgfn[i][j][k] = -1;\r
79 fGainTableFgan[i][j][k] = -1;\r
80 }\r
1b2ec594 81 }\r
82 }\r
6b36d985 83}\r
84\r
85\r
86//_____________________________________________________________________________\r
e8c635ba 87AliTRDCalDCSFEE::AliTRDCalDCSFEE(const AliTRDCalDCSFEE &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
6b36d985 116{\r
117 //\r
e8c635ba 118 // AliTRDCalDCSFEE copy constructor\r
6b36d985 119 //\r
e8c635ba 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
3821ce70 130 }\r
1b2ec594 131 }\r
132 }\r
6b36d985 133}\r
134\r
7325586b 135\r
e8c635ba 136//_____________________________________________________________________________\r
137AliTRDCalDCSFEE &AliTRDCalDCSFEE::operator=(const AliTRDCalDCSFEE &c)\r
138{\r
139 //\r
140 // Assignment operator\r
141 //\r
142 if (&c == this) return *this;\r
143\r
144 new (this) AliTRDCalDCSFEE(c);\r
145 return *this;\r
146}\r
147\r