![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
5 #include "GaudiKernel/ISvcLocator.h"
6 #include "GaudiKernel/MsgStream.h"
30 return ::AthService::queryInterface(riid, ppvIF);
33 return StatusCode::SUCCESS;
43 ATH_CHECK( service(
"RDBAccessSvc",rdbAccess) );
54 if(atlasCommonRec->size()==0) {
57 std::string configVal = (*atlasCommonRec)[0]->getString(
"CONFIG");
58 if(configVal==
"RUN1"){
60 }
else if(configVal==
"RUN2" || configVal==
"RUN3" || configVal==
"RUN4") {
63 ATH_MSG_FATAL(
"Unexpected value for geometry config read from the database: " << configVal);
64 return StatusCode::FAILURE;
71 return StatusCode::SUCCESS;
77 bool check = subDetectorID == 0x6A || subDetectorID == 0x69;
80 rodId = (subDetectorID << 16) |
id;
87 switch ( offlineID ) {
117 if((offlineID & 0x1F) & 0x10){
120 rodId = 0x80 | (0xF & offlineID);
128 uint16_t id = onlineIdentifier & 0xFFFF;
165 if(!
check && (
id & 0x70) == 0){
168 rodId = (((
id & 0xf) >> 1) | 0x10);
170 rodId = (((
id & 0xf) >> 1) | 0x18);
180 bool check = rodId == 0x5 || rodId == 0x7 || rodId == 0x9 || rodId == 0x11 ||
181 rodId == 0x15 || rodId == 0x17 || rodId == 0x19 || rodId == 0x21;
184 if((rodId & 0x70) == 0)
check =
true;
192 bool check = rodId == 0x0 || rodId == 0x1 || rodId == 0x2 || rodId == 0x3 ||
193 rodId == 0x4 || rodId == 0x5 || rodId == 0x6 || rodId == 0x7;
196 if((0x10 & rodId)==0x10)
check =
true;
203 uint16_t subId = (subDetectorId == 0x6A) ? 0 : 1;
208 if((rodId & 0x10) == 0x10){
209 onlineColId = subId*this->
nROD() + rodId - 16;
211 onlineColId = subId*this->
nROD() + rodId;
362 if ((hashid >= 8 && hashid <= 15) || (hashid >= 24))
363 subdetectorid = 0x69;
365 subdetectorid = 0x6a;
375 robid = (subdetectorid << 16) | shortRobID;
bool offlineId(const uint32_t onlineIdentifier, uint16_t &rodId) const
reverse map of online ID into offline ROD ID
virtual StatusCode queryInterface(const InterfaceID &riid, void **ppvIF)
virtual IRDBRecordset_ptr getRecordsetPtr(const std::string &node, const std::string &tag, const std::string &tag2node="", const std::string &connName="ATLASDD")=0
Provides access to the Recordset object containing HVS-tagged data.
bool onlineId(const uint16_t subdetectorID, const uint16_t offlineID, uint32_t &rodId) const
map offline ROD identifier to online ID
void hash2Rod(const unsigned int &, uint32_t &) const
map PRD collection ID into offline ROD ID
unsigned int nROD() const
bool is_rodId(const uint16_t rodId) const
check that we have the correct online ROD id
Definition of the abstract IRDBAccessSvc interface.
IRDBAccessSvc is an abstract interface to the athena service that provides the following functionalit...
::StatusCode StatusCode
StatusCode definition for legacy code.
virtual StatusCode initialize(void)
void hash2Rob(const unsigned int &, uint32_t &) const
map PRD collection ID into short ROB ID, e.g.
uint16_t collectionId(const uint16_t subdetectorId, const uint16_t rodId) const
calculate the collection Identifier
std::shared_ptr< IRDBRecordset > IRDBRecordset_ptr
void hash2SubdetectorId(const unsigned int &, uint32_t &) const
map PRD collection ID into subdetector ID, i.e.
void hash2RobFull(const unsigned int &, uint32_t &) const
map PRD collection ID into full ROB ID (with subdetector ID), e.g.
bool is_offlineRodId(const uint16_t rodId) const
check that we have the correct offline ROD id
void hash2CollectionId(const unsigned int &, uint16_t &) const
map PRD collection ID into RDO collection ID
Definition of the abstract IRDBRecord interface.
Definition of the abstract IRDBRecordset interface.
const InterfaceID IID_ICSCcablingSvc("CSCcablingSvc", 1, 0)
virtual const std::string & atlasVersion() const =0
CSCcablingSvc(const std::string &name, ISvcLocator *sl)