  | 
  
    ATLAS Offline Software
    
   | 
 
 
 
 
Go to the documentation of this file.
   15 #include "GaudiKernel/EventIDRange.h" 
   53   return StatusCode::SUCCESS;
 
   75     return StatusCode::SUCCESS;
 
   81   std::unique_ptr<SG::ReadCondHandle<PixelCablingCondData> > pixCabling;
 
   82   std::unique_ptr<SG::ReadCondHandle<SCT_CablingData> >      sctCabling;
 
   84   EventIDRange id_range;
 
   91       sctCabling = std::make_unique<SG::ReadCondHandle<SCT_CablingData> >( 
m_sctCablingKey, ctx );
 
   92       if( !sctCabling->range( id_range ) ) {
 
   93     ATH_MSG_ERROR(
"Failed to retrieve validity range for " << sctCabling->key());
 
   94     return StatusCode::FAILURE;
 
  101       ATH_MSG_DEBUG( 
"RegSelCondAlg: " << id_range << 
"( initial range )" );
 
  103       pixCabling = std::make_unique<SG::ReadCondHandle<PixelCablingCondData> >( 
m_pixCablingKey, ctx );
 
  104       if( !pixCabling->range( id_range ) ) {
 
  105     ATH_MSG_ERROR(
"Failed to retrieve validity range for " << pixCabling->key() << 
" : " << id_range );
 
  106     return StatusCode::FAILURE;
 
  108       ATH_MSG_DEBUG( 
"RegSelCondAlg: " << id_range << 
"( final range )" );
 
  116   std::unique_ptr<RegSelSiLUT> rd;
 
  127   if (elements==
nullptr) {
 
  129     return StatusCode::FAILURE;
 
  136     if( !detEle.
range( id_range ) ) {
 
  137       ATH_MSG_ERROR(
"Failed to retrieve validity range for " << detEle.
key() << 
" : " << id_range );
 
  138       return StatusCode::FAILURE;
 
  140     ATH_MSG_DEBUG( 
"RegSelCondAlg: " << id_range << 
"( final range )" );
 
  153       double rMin, rMax, zMin, zMax, phiMin, phiMax;
 
  155       rMin    = element->rMin();
 
  156       rMax    = element->rMax();
 
  157       zMin    = element->zMin();
 
  158       zMax    = element->zMax();
 
  159       phiMin  = element->phiMin();
 
  160       phiMax  = element->phiMax();
 
  167       if (element->isPixel()) {
 
  169     const PixelID* pixelId = 
dynamic_cast<const PixelID*
>(element->getIdHelper());
 
  170     if ( pixelId!=
nullptr ) { 
 
  171       barrelEC  = pixelId->
barrel_ec(element->identify());
 
  172       if ( std::fabs(barrelEC)>3 ) 
continue; 
 
  173       layerDisk = pixelId->
layer_disk(element->identify());
 
  174       if(
m_useCabling) robId=(*pixCabling)->find_entry_offrob(element->identify());
 
  178       ATH_MSG_ERROR(
"Could not get PIXEL_ID for " << element->getIdHelper() );
 
  183     const SCT_ID* sctId = 
dynamic_cast<const SCT_ID*
>(element->getIdHelper());
 
  184     if ( sctId!=
nullptr ) {      
 
  185       barrelEC  = sctId->
barrel_ec(element->identify());
 
  186       layerDisk = sctId->
layer_disk(element->identify());
 
  189       if(
m_useCabling) robId = ((*sctCabling)->getOnlineIdFromHash(element->identifyHash())).rod();
 
  193       ATH_MSG_ERROR(
"Could not get SCT_ID for " << element->getIdHelper() );
 
  201       RegSelModule smod( zMin, zMax, rMin, rMax, phiMin, phiMax, layerDisk, barrelEC, robId, hashId );
 
  208                << 
" barrelEC = " << barrelEC 
 
  209                << 
", layerDisk = " << layerDisk 
 
  227     if( lutCondData.
record( id_range, rcd ).isFailure() ) {
 
  229              << 
" " << lutCondData.
key()
 
  230              << 
" with range " << id_range );  
 
  231       return StatusCode::FAILURE;   
 
  237     return StatusCode::FAILURE;   
 
  243   return StatusCode::SUCCESS;
 
  
This is an Identifier helper class for the Pixel subdetector. This class is a factory for creating co...
 
emacs: this is -*- c++ -*-
 
This is an Identifier helper class for the SCT subdetector. This class is a factory for creating comp...
 
virtual StatusCode execute(const EventContext &ctx) const override
 
int barrel_ec(const Identifier &id) const
Values of different levels (failure returns 0)
 
SiRegSelCondAlg(const std::string &name, ISvcLocator *pSvcLocator)
 
virtual StatusCode initialize() override
 
std::string m_managerName
 
emacs: this is -*- c++ -*-
 
int barrel_ec(const Identifier &id) const
Values of different levels (failure returns 0)
 
bool range(EventIDRange &r)
 
#define ATH_MSG_VERBOSE(x)
 
bool empty() const
Test if the key is blank.
 
StatusCode record(const EventIDRange &range, T *t)
record handle, with explicit range DEPRECATED
 
SG::ReadCondHandleKey< PixelCablingCondData > m_pixCablingKey
 
SG::ReadCondHandleKey< SCT_CablingData > m_sctCablingKey
Sadly the PIxel and SCT cabling are different classes so need both, even if only one is to be used.
 
An algorithm that can be simultaneously executed in multiple threads.
 
void write(std::ostream &s=std::cout) const
 
const DataObjID & fullKey() const
 
const_pointer_type retrieve()
 
::StatusCode StatusCode
StatusCode definition for legacy code.
 
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
 
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > m_detEleCollKey
 
int layer_disk(const Identifier &id) const
 
const std::string & key() const
 
int layer_disk(const Identifier &id) const
 
StatusCode initialize(bool used=true)
 
void addModule(RegSelModule &module)
 
SG::WriteCondHandleKey< IRegSelLUTCondData > m_tableKey
Output conditions object.
 
const std::string & key() const
 
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
 
RegSelCondData< IRegSelLUT > IRegSelLUTCondData