130 std::unique_ptr<RegSelectorHashMap> lut(
nullptr);
138 if (
detStore()->retrieve(manager).isFailure() ) {
143 if (
detStore()->retrieve(helper).isFailure() ) {
196 std::unique_ptr<RegionSelectorLUT> lut_stuff = std::make_unique<RegionSelectorLUT>( lut_size );
201 for ( ; it2!=it2_end ; ++it2 ) {
206 int samp = helper->sampling(layer_id);
207 int layer = helper->layer(layer_id);
208 bool isFcal = helper->is_fcal(layer_id);
210 if ( isFcal != fcal )
continue;
211 if ( sampling==0 && samp!=0 )
continue;
212 if ( sampling!=0 && samp==0 )
continue;
213 if ( fcal_layer==0 && layer!=0 ) {
214 ATH_MSG_DEBUG(
"Whoa! how did this happen ? should never be able to get here: " << samp <<
" " << layer <<
" " << isFcal );
219 float dEta = region->
deta() ;
220 float dPhi = region->
dphi() ;
222 float eta1 = region->
eta()-dEta/2. ;
223 float eta2 = eta1+dEta;
225 float phi1 = region->
phi()-dPhi/2. ;
226 float phi2 = phi1+dPhi;
230 IdContext IdCntx = helper->layer_context();
232 if (helper->get_hash(layer_id, hashid, &IdCntx ) != 0) {
237 if ( isFcal && ( samp != 0 ) ) {
238 if ( helper->pos_neg_z(layer_id)==1 ) {
253 int pseudolayer = helper->eta(layer_id);
257 layer = ( pseudolayer<2 ? 0 : 1 );
260 if ( helper->pos_neg_z(layer_id)==1 ) {
271 layer = ( pseudolayer<2 ? 2 : 3 );
274 if ( helper->pos_neg_z(layer_id)==1 ) {
287 const std::vector<HWIdentifier>& vROBID = roiMap.
collectionID((
unsigned int)hashid);
290 if( !vROBID.empty() ) {
292 if( vROBID.size() > 1 ) {
294 <<
") ROBID for this TT, sampling, layer, etamin, phimin= "
295 << helper->show_to_string(layer_id) <<
" "
296 << samp <<
" " << layer <<
" " << eta1 <<
" " << phi1
301 std::vector<HWIdentifier>::const_iterator it = vROBID.begin();
302 std::vector<HWIdentifier>::const_iterator it_end = vROBID.end();
304 for ( ; it!=it_end ; ++it ) {
308 eformat::SubDetector detid = (eformat::SubDetector) larReadoutModuleSvc.
subDet(mId);
310 uint16_t m = larReadoutModuleSvc.
rodFragId(mId);
313 eformat::helper::SourceIdentifier sid(detid,m);
315 uint32_t rod_id = sid.code();
317 lut_stuff->additem( (
double)eta1, (
double)eta2, (
double)phi1, (
double)phi2, samp, layer, (
int)hashid, (
int)rod_id );
320 <<
" hashid,sampling, layer, etamin, phimin= "
321 << helper->show_to_string(layer_id) <<
" "
323 << samp <<
" " << layer <<
" " << eta1 <<
" " << phi1 );
333 ATH_MSG_DEBUG (
"No ROBID for this TT, sign, sampling, layer, etamin, phimin= "
334 << helper->show_to_string(layer_id)
335 <<
" " << samp <<
" " << layer <<
" " << eta1 <<
" " << phi1 );
348 lut = std::make_unique<RegSelectorHashMap>();
349 lut->addLut( lut_stuff.get());
350 lut->mountDataStruct();
This class saves the "context" of an expanded identifier (ExpandedIdentifier) for compact or hash ver...