Description: <one line="" class="" summary>=""> R Implementation: <Notes on="" implementation>="">
Definition at line 57 of file HcalLuttoDB.cc.
void HcalLuttoDB::writeoutlut1 |
( |
HcalDetId |
id, |
|
|
HcalElectronicsId |
eid, |
|
|
const std::vector< unsigned short > & |
lut, |
|
|
std::ostream & |
os |
|
) |
| |
|
private |
Definition at line 141 of file HcalLuttoDB.cc.
References creationtag_, HcalElectronicsId::fiberChanId(), HcalElectronicsId::fiberIndex(), formatRevision_, HcalForward, HcalElectronicsId::htrSlot(), HcalElectronicsId::htrTopBottom(), i, md5_append(), md5_finish(), md5_init(), HcalElectronicsId::readoutVMECrateId(), and targetfirmware_.
143 os <<
"<CFGBrick> "<<std::endl;
144 os <<
" <Parameter name='IETA' type='int'>"<<
id.ieta()<<
"</Parameter>"<<std::endl;
145 os <<
" <Parameter name='IPHI' type='int'>"<<
id.iphi()<<
"</Parameter>"<<std::endl;
146 os <<
" <Parameter name='DEPTH' type='int'>"<<
id.depth()<<
"</Parameter>"<<std::endl;
147 os <<
" <Parameter name='CRATE' type='int'>"<<eid.
readoutVMECrateId()<<
"</Parameter>"<<std::endl;
148 os <<
" <Parameter name='SLOT' type='int'>"<<eid.
htrSlot()<<
"</Parameter>"<<std::endl;
149 os <<
" <Parameter name='TOPBOTTOM' type='int'>"<<eid.
htrTopBottom()<<
"</Parameter>"<<std::endl;
150 os <<
" <Parameter name='FIBER' type='int'>"<<eid.
fiberIndex()<<
"</Parameter>"<<std::endl;
151 os <<
" <Parameter name='FIBERCHAN' type='int'>"<<eid.
fiberChanId()<<
"</Parameter>"<<std::endl;
152 os <<
" <Parameter name='LUT_TYPE' type='int'>1</Parameter>"<<std::endl;
153 os <<
" <Parameter name='CREATIONTAG' type='string'>"<<
creationtag_<<
"</Parameter>"<<std::endl;
154 os <<
" <Parameter name='CREATIONSTAMP' type='string'>"<<
creationstamp_<<
"</Parameter>"<<std::endl;
155 os <<
" <Parameter name='FORMATREVISION' type='string'>"<<
formatRevision_<<
"</Parameter>"<<std::endl;
156 os <<
" <Parameter name='TARGETFIRMWARE' type='string'>"<<
targetfirmware_<<
"</Parameter>"<<std::endl;
157 int generalizedIndex=
id.ietaAbs()+1000*
id.depth()+10000*
id.iphi()+
158 ((
id.ieta()<0)?(0):(100))+((
id.subdet()==
HcalForward &&
id.ietaAbs()==29)?(4*10000):(0));
160 os <<
" <Parameter name='GENERALIZEDINDEX' type='int'>"<<generalizedIndex<<
"</Parameter>"<<std::endl;
164 unsigned char tool[2];
166 for (
int i=0;
i<128;
i++) {
168 tool[1]=(lut[
i]>>8)&0xFF;
172 os <<
" <Parameter name='CHECKSUM' type='string'>";
173 for (
int i=0;
i<16;
i++) os << std::hex << (((
int)(digest[
i]))&0xFF);
174 os <<
"</Parameter>\n";
181 <<
"' luttype='1' elements='1' encoding='hex'>";
182 for (
int i=0; i<16; i++) *
oc_ << std::hex << (((
int)(digest[i]))&0xFF);
185 os <<
" <Data elements='128' encoding='hex'> "<<std::endl;
187 for(
int initr2 = 0; initr2 < 128; initr2++){
188 os<<lut[initr2]<<
" ";
192 os <<
" </Data> "<<std::endl;
193 os <<
"</CFGBrick> "<<std::endl;
void md5_init(md5_state_t *pms)
int fiberIndex() const
get the fiber index [1-8] (which of eight fibers carried by a spigot) (valid only for non-trigger-cha...
int htrSlot() const
get the htr slot
int readoutVMECrateId() const
get the readout VME crate number
std::string targetfirmware_
void md5_finish(md5_state_t *pms, md5_byte_t digest[16])
int htrTopBottom() const
get the htr top/bottom (1=top/0=bottom)
int fiberChanId() const
get the fiber channel id (which of three channels on a readout fiber) (valid only for non-trigger-cha...
void md5_append(md5_state_t *pms, const md5_byte_t *data, int nbytes)
std::string creationstamp_
static const int formatRevision_
Definition at line 198 of file HcalLuttoDB.cc.
References creationtag_, formatRevision_, HcalElectronicsId::htrSlot(), HcalElectronicsId::htrTopBottom(), i, md5_append(), md5_finish(), md5_init(), HcalElectronicsId::readoutVMECrateId(), HcalElectronicsId::slbChannelIndex(), HcalElectronicsId::slbSiteNumber(), and targetfirmware_.
200 os <<
"<CFGBrick> "<<std::endl;
201 os <<
" <Parameter name='IETA' type='int'>"<<
id.ieta()<<
"</Parameter>"<<std::endl;
202 os <<
" <Parameter name='IPHI' type='int'>"<<
id.iphi()<<
"</Parameter>"<<std::endl;
203 os <<
" <Parameter name='CRATE' type='int'>"<<eid.
readoutVMECrateId()<<
"</Parameter>"<<std::endl;
204 os <<
" <Parameter name='SLOT' type='int'>"<<eid.
htrSlot()<<
"</Parameter>"<<std::endl;
205 os <<
" <Parameter name='TOPBOTTOM' type='int'>"<<eid.
htrTopBottom()<<
"</Parameter>"<<std::endl;
206 os <<
" <Parameter name='SLB' type='int'>"<<eid.
slbSiteNumber()<<
"</Parameter>"<<std::endl;
207 os <<
" <Parameter name='SLBCHAN' type='int'>"<<eid.
slbChannelIndex()<<
"</Parameter>"<<std::endl;
208 os <<
" <Parameter name='LUT_TYPE' type='int'>2</Parameter>"<<std::endl;
209 os <<
" <Parameter name='CREATIONTAG' type='string'>"<<
creationtag_<<
"</Parameter>"<<std::endl;
210 os <<
" <Parameter name='CREATIONSTAMP' type='string'>"<<
creationstamp_<<
"</Parameter>"<<std::endl;
211 os <<
" <Parameter name='FORMATREVISION' type='string'>"<<
formatRevision_<<
"</Parameter>"<<std::endl;
212 os <<
" <Parameter name='TARGETFIRMWARE' type='string'>"<<
targetfirmware_<<
"</Parameter>"<<std::endl;
213 int generalizedIndex=
id.ietaAbs()+10000*
id.iphi()+
214 ((
id.ieta()<0)?(0):(100));
217 os <<
" <Parameter name='GENERALIZEDINDEX' type='int'>"<<generalizedIndex<<
"</Parameter>"<<std::endl;
226 os <<
" <Parameter name='CHECKSUM' type='string'>";
227 for (
int i=0;
i<16;
i++) os << std::hex << (((
int)(digest[
i]))&0xFF);
228 os <<
"</Parameter>\n";
235 <<
"' luttype='2' elements='1' encoding='hex'>";
236 for (
int i=0; i<16; i++) *
oc_ << std::hex << (((
int)(digest[i]))&0xFF);
239 os <<
" <Data elements='1024' encoding='hex'> "<<std::endl;
241 for(
int initr2 = 0; initr2 < 1024; initr2++){
242 os<< (int(lut[initr2])&0xFF)<<
" ";
246 os <<
" </Data> "<<std::endl;
247 os <<
"</CFGBrick> "<<std::endl;
void md5_init(md5_state_t *pms)
int htrSlot() const
get the htr slot
int readoutVMECrateId() const
get the readout VME crate number
std::string targetfirmware_
void md5_finish(md5_state_t *pms, md5_byte_t digest[16])
int htrTopBottom() const
get the htr top/bottom (1=top/0=bottom)
int slbChannelIndex() const
get the SLB channel index (valid only for trigger-chain ids)
void md5_append(md5_state_t *pms, const md5_byte_t *data, int nbytes)
std::string creationstamp_
int slbSiteNumber() const
get the SLB site number (valid only for trigger-chain ids)
static const int formatRevision_