73 {
75 std::set<HWIdentifier> hvId;
76 if(hvLineVec) hvLineVec->clear();
77 if(hvLineId) hvLineId->clear();
78
79
82 const EMBDetectorElement* embElement = dynamic_cast<const EMBDetectorElement*>(calodetdescrmgr->get_element(id));
83 if (embElement) {
85 unsigned int nelec =
cell->getNumElectrodes();
86 for (
unsigned int i=0;
i<nelec;
i++) {
87 const EMBHVElectrode &electrode =
cell->getElectrode(i);
88 for (unsigned int igap=0;igap<2;igap++) {
91 hvId.insert(hvline);
92 }
93 }
94 } else {
96 }
97 } else {
98 const EMECDetectorElement* emecElement = dynamic_cast<const EMECDetectorElement*>(calodetdescrmgr->get_element(id));
99 if (emecElement) {
101 unsigned int nelec =
cell->getNumElectrodes();
102 for (
unsigned int i=0;
i<nelec;
i++) {
103 const EMECHVElectrode &electrode =
cell->getElectrode(i);
104 for (unsigned int igap=0;igap<2;igap++) {
107 hvId.insert(hvline);
108 }
109 }
110 } else {
112 }
113 }
115 const HECDetectorElement* hecElement = dynamic_cast<const HECDetectorElement*>(calodetdescrmgr->get_element(id));
116 if (hecElement) {
118 unsigned int nsubgaps =
cell->getNumSubgaps();
119 for (unsigned int igap=0;igap<nsubgaps;igap++) {
120 const HECHVSubgap &subgap =
cell->getSubgap(igap);
123 hvId.insert(hvline);
124 }
125 } else {
127 }
129 const FCALDetectorElement* fcalElement = dynamic_cast<const FCALDetectorElement*>(calodetdescrmgr->get_element(id));
130 if (fcalElement) {
132 unsigned int nlines =
tile->getNumHVLines();
133 unsigned int nlines_found=0;
134 for (
unsigned int i=0;
i<nlines;
i++) {
135 const FCALHVLine *
line =
tile->getHVLine(i);
136 if (line) nlines_found++;
137 }
138 if ( nlines_found>0 ) {
139 for (
unsigned int i=0;
i<nlines;
i++) {
140 const FCALHVLine *
line =
tile->getHVLine(i);
141 if (!line) continue;
144 hvId.insert(hvline);
145 }
146 }
147 } else {
149 }
150
153 const EMBDetectorElement* embElement = dynamic_cast<const EMBDetectorElement*>(calodetdescrmgr->get_element(id));
154 if (embElement) {
156 const EMBPresamplerHVModule &hvmodule =
cell->getPresamplerHVModule();
157 for (unsigned int igap=0;igap<2;igap++) {
160 hvId.insert(hvline);
161 }
162 } else {
163 ATH_MSG_ERROR(
"Failed d'cast to EMBDetectorElement (for presampler)" );
164 }
165 } else {
166 const EMECDetectorElement* emecElement = dynamic_cast<const EMECDetectorElement*>(calodetdescrmgr->get_element(id));
167 if (emecElement) {
169 const EMECPresamplerHVModule &hvmodule =
cell->getPresamplerHVModule ();
172 hvId.insert(hvline);
173 } else {
174 ATH_MSG_ERROR(
"Failed d'cast to EMECDetectorElement (for presampler)" );
175 }
176 }
177 }
178
179 ATH_MSG_VERBOSE(
"Found "<<hvId.size()<<
" hvIds for id: "<<
id.get_identifier32().get_compact());
180
181 if(hvLineVec) {
182 for (std::set<int>::iterator i=
hv.begin();i!=
hv.end();++i) hvLineVec->push_back(*i);
183 }
184 if(hvLineId) {
185 for (std::set<HWIdentifier>::iterator i=hvId.begin();i!=hvId.end();++i) hvLineId->push_back(*i);
186 }
187 return;
188}
#define ATH_MSG_VERBOSE(x)
GeoIntrusivePtr< const EMBCell > EMBCellConstLink
GeoIntrusivePtr< const EMECCell > EMECCellConstLink
GeoIntrusivePtr< const HECCell > HECCellConstLink
@Class: HECCellConstLink
EMBCellConstLink getEMBCell() const
EMB Cell description from LArReadoutGeometry.
const EMBHVModule & getModule() const
int hvLineNo(const EMBHVElectrode &electrode, int gap, const LArHVIdMapping *hvIdMapping, HWIdentifier *hvlId=nullptr) const
const EMBHVManager & getManager() const
int hvLineNo(const EMBPresamplerHVModule &module, int gap, const LArHVIdMapping *hvIdMapping, HWIdentifier *hvlId=nullptr) const
const EMBPresamplerHVManager & getManager() const
EMECCellConstLink getEMECCell() const
EMEC Cell description from LArReadoutGeometry.
const EMECHVModule & getModule() const
int hvLineNo(const EMECHVElectrode &electrode, int gap, const LArHVIdMapping *hvIdMapping, HWIdentifier *hvlId=nullptr) const
const EMECHVManager & getManager() const
int hvLineNo(const EMECPresamplerHVModule &module, const LArHVIdMapping *hvIdMapping, HWIdentifier *hvlineId=nullptr) const
const EMECPresamplerHVManager & getManager() const
const FCALTile * getFCALTile() const
FCAL Tile description from LArReadoutGeometry.
HECCellConstLink getHECCell() const
HEC Cell description from LArReadoutGeometry.
int hvLineNo(const HECHVSubgap &subgap, const LArHVIdMapping *hvIdMapping, HWIdentifier *hvlId=nullptr) const
const HECHVManager & getManager() const
const HECHVModule & getModule() const