50 my_sectcollmap.clear();
51 my_trigunitmap.clear();
53 my_tsthetamap.clear();
66 BtiMap::const_iterator biter1 = my_btimap.find(chambid);
67 if (biter1 == my_btimap.end()){
68 std::cout <<
"DTConfigManager::getConfigBti : Chamber (" << chambid.
wheel()
71 <<
") not found, return 0" << std::endl;
75 innerBtiMap::const_iterator biter2 = (*biter1).second.find(btiid);
76 if (biter2 == (*biter1).second.end()){
77 std::cout <<
"DTConfigManager::getConfigBti : BTI (" << btiid.
wheel()
82 <<
") not found, return 0" << std::endl;
85 return &(*biter2).second;
91 BtiMap::const_iterator biter = my_btimap.find(chambid);
92 if (biter == my_btimap.end()){
93 std::cout <<
"DTConfigManager::getConfigBtiMap : Chamber (" << chambid.
wheel()
96 <<
") not found, return a reference to the end of the map" << std::endl;
99 return (*biter).second;
106 TracoMap::const_iterator titer1 = my_tracomap.find(chambid);
107 if (titer1 == my_tracomap.end()){
108 std::cout <<
"DTConfigManager::getConfigTraco : Chamber (" << chambid.
wheel()
109 <<
"," << chambid.
sector()
111 <<
") not found, return 0" << std::endl;
115 innerTracoMap::const_iterator titer2 = (*titer1).second.find(tracoid);
116 if (titer2 == (*titer1).second.end()){
117 std::cout <<
"DTConfigManager::getConfigTraco : TRACO (" << tracoid.
wheel()
118 <<
"," << tracoid.
sector()
120 <<
"," << tracoid.
traco()
121 <<
") not found, return a reference to the end of the map" << std::endl;
124 return &(*titer2).second;
130 TracoMap::const_iterator titer = my_tracomap.find(chambid);
131 if (titer == my_tracomap.end()){
132 std::cout <<
"DTConfigManager::getConfigTracoMap : Chamber (" << chambid.
wheel()
133 <<
"," << chambid.
sector()
135 <<
") not found, return 0" << std::endl;
138 return (*titer).second;
144 TSThetaMap::const_iterator thiter = my_tsthetamap.find(chambid);
145 if (thiter == my_tsthetamap.end()){
146 std::cout <<
"DTConfigManager::getConfigTSTheta : Chamber (" << chambid.
wheel()
147 <<
"," << chambid.
sector()
149 <<
") not found, return 0" << std::endl;
153 return &(*thiter).second;
159 TSPhiMap::const_iterator phiter = my_tsphimap.find(chambid);
160 if (phiter == my_tsphimap.end()){
161 std::cout <<
"DTConfigManager::getConfigTSPhi : Chamber (" << chambid.
wheel()
162 <<
"," << chambid.
sector()
164 <<
") not found, return 0" << std::endl;
168 return &(*phiter).second;
174 TrigUnitMap::const_iterator tuiter = my_trigunitmap.find(chambid);
175 if (tuiter == my_trigunitmap.end()){
176 std::cout <<
"DTConfigManager::getConfigTrigUnit : Chamber (" << chambid.
wheel()
177 <<
"," << chambid.
sector()
179 <<
") not found, return 0" << std::endl;
183 return &(*tuiter).second;
189 LUTMap::const_iterator lutiter = my_lutmap.find(chambid);
190 if (lutiter == my_lutmap.end()){
191 std::cout <<
"DTConfigManager::getConfigLUTs : Chamber (" << chambid.
wheel()
192 <<
"," << chambid.
sector()
194 <<
") not found, return 0" << std::endl;
198 return &(*lutiter).second;
204 SectCollMap::const_iterator sciter = my_sectcollmap.find(scid);
205 if (sciter == my_sectcollmap.end()){
206 std::cout <<
"DTConfigManager::getConfigSectColl : SectorCollector (" << scid.
wheel()
208 <<
") not found, return 0" << std::endl;
212 return &(*sciter).second;
218 return &my_pedestals;
224 int ST =
static_cast<int>(getDTConfigBti(
DTBtiId(1,1,1,1,1))->ST());
225 return (ST/2 + ST%2);
232 my_btimap[chambid][btiid] = conf;
239 my_tracomap[chambid][tracoid] = conf;
246 string name =
"Lut_from_param";
250 fout.open(name.c_str(),ofstream::app);
253 int wh = chambid.
wheel();
255 int se = chambid.
sector();
265 const DTConfigLUTs* _confLUTs = getDTConfigLUTs(chambid);
266 short int btic = getDTConfigTraco(
DTTracoId(wh,st,se,1))->BTIC();
267 float d = _confLUTs->
D();
268 float xcn = _confLUTs->
Xcn();
274 short int Low_byte = (btic & 0x00FF);
275 short int High_byte =( btic>>8 & 0x00FF);
276 fout << setw(2) << setfill(
'0') << hex << High_byte << setw(2) << setfill(
'0') << Low_byte;
279 short int DSPmantissa = 0;
280 short int DSPexp = 0;
284 Low_byte = (DSPmantissa & 0x00FF);
285 High_byte =( DSPmantissa>>8 & 0x00FF);
286 fout << setw(2) << setfill(
'0') << hex << High_byte << setw(2) << setfill(
'0') << Low_byte;
287 Low_byte = (DSPexp & 0x00FF);
288 High_byte =( DSPexp>>8 & 0x00FF);
289 fout << setw(2) << setfill(
'0') << High_byte << setw(2) << setfill(
'0') << Low_byte;
295 Low_byte = (DSPmantissa & 0x00FF);
296 High_byte =( DSPmantissa>>8 & 0x00FF);
297 fout << setw(2) << setfill(
'0') << hex << High_byte << setw(2) << setfill(
'0') << Low_byte;
298 Low_byte = (DSPexp & 0x00FF);
299 High_byte =( DSPexp>>8 & 0x00FF);
300 fout << setw(2) << setfill(
'0') << High_byte << setw(2) << setfill(
'0') << Low_byte;
303 short int xcn_sign = _confLUTs->
Wheel();
304 Low_byte = (xcn_sign & 0x00FF);
305 High_byte =( xcn_sign>>8 & 0x00FF);
306 fout << setw(2) << setfill(
'0') << hex << High_byte << setw(2) << setfill(
'0') << Low_byte <<
dec <<
"\n";
const DTConfigLUTs * getDTConfigLUTs(DTChamberId) const
Get desired LUT configuration.
void dumpLUTParam(DTChamberId &chambid) const
Dump luts string commands from configuration parameters.
const DTConfigSectColl * getDTConfigSectColl(DTSectCollId) const
Get desired SectorCollector configuration.
DTChamberId chamberId() const
Return the corresponding ChamberId.
int getBXOffset() const
Get BX Offset for a given vdrift config.
int Wheel() const
wheel sign (-1 or +1)
int sector() const
Returns sector number.
int traco() const
Returns the traco.
void setDTConfigTraco(DTTracoId, DTConfigTraco)
Set DTConfigTraco for desired chip.
int wheel() const
Returns wheel number.
int superlayer() const
Returns the superlayer.
int station() const
Returns station number.
int sector() const
Returns sector number.
DTChamberId ChamberId() const
Returns the chamber id.
void setDTConfigBti(DTBtiId, DTConfigBti)
Set DTConfigBti for desired chip.
int station() const
Returns station number.
void IEEE32toDSP(float f, short int &DSPmantissa, short int &DSPexp) const
IEEE32 to DSP conversion.
const DTConfigTraco * getDTConfigTraco(DTTracoId) const
Get desired TRACO configuration.
const std::map< DTBtiId, DTConfigBti > & getDTConfigBtiMap(DTChamberId) const
Get desired BTI configuration map for a given DTChamber.
int wheel() const
Returns wheel number.
const std::map< DTTracoId, DTConfigTraco > & getDTConfigTracoMap(DTChamberId) const
Get desired TRACO configuration map for a given DTChamber.
const DTConfigBti * getDTConfigBti(DTBtiId) const
Get desired BTI configuration.
int bti() const
Returns the bti.
DTConfigManager()
Constructor.
float Xcn() const
Xcn: distance vertex to normal, unit cm.
const DTConfigTSPhi * getDTConfigTSPhi(DTChamberId) const
Get desired Trigger Server Phi configuration.
~DTConfigManager()
Destructor.
int station() const
Return the station number.
const DTConfigTSTheta * getDTConfigTSTheta(DTChamberId) const
Get desired Trigger Server Theta configuration.
int wheel() const
Return the wheel number.
const DTConfigPedestals * getDTConfigPedestals() const
Get desired Pedestals configuration.
float D() const
d: distance vertex to normal, unit cm.
const DTConfigTrigUnit * getDTConfigTrigUnit(DTChamberId) const
Get desired Trigger Unit configuration.
DTSuperLayerId SLId() const
Returns the superlayer id.