ATLAS Offline Software
DblQ00Dbam.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 /***************************************************************************
6  DB data - Muon Station components
7  -----------------------------------------
8  ***************************************************************************/
9 
14 #include <iostream>
15 #include <sstream>
16 #include <stdio.h>
17 #include <stdexcept>
18 
19 namespace MuonGM
20 {
21 
22  DblQ00Dbam::DblQ00Dbam(IRDBAccessSvc *pAccessSvc, const std::string & GeoTag, const std::string & GeoNode) {
23 
24  IRDBRecordset_ptr dbam = pAccessSvc->getRecordsetPtr(getName(),GeoTag, GeoNode);
25 
26  if(dbam->size()>0) {
27  m_nObj = dbam->size();
28  m_d.resize (m_nObj);
29  if (m_nObj == 0) std::cerr<<"NO Dbam banks in the MuonDD Database"<<std::endl;
30 
31  for(size_t i =0; i<dbam->size(); ++i) {
32  m_d[i].version = (*dbam)[i]->getInt("VERS");
33  m_d[i].nvrs = (*dbam)[i]->getInt("NVRS");
34  m_d[i].mtyp = (*dbam)[i]->getInt("MTYP");
35  m_d[i].numbox = (*dbam)[i]->getInt("NUMBOX");
36  m_d[i].amdb =(*dbam)[i]->getString("AMDB");
37 
38  for (unsigned int j=0; j<53; j++) {
39  try {
40  m_d[i].name[j] = (*dbam)[i]->getString("NAME_"+std::to_string(j));
41  } catch (const std::runtime_error&) {
42  break;
43  }
44  }
45  }
46  }
47  else {
48  std::cerr<<"NO Dbam banks in the MuonDD Database"<<std::endl;
49  }
50 }
51 
52 
53 } // end of namespace MuonGM
DblQ00Dbam.h
MuonGM
Ensure that the Athena extensions are properly loaded.
Definition: GeoMuonHits.h:27
IRDBAccessSvc::getRecordsetPtr
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.
IRDBAccessSvc.h
Definition of the abstract IRDBAccessSvc interface.
MuonGM::DblQ00Dbam::DblQ00Dbam
DblQ00Dbam()=default
lumiFormat.i
int i
Definition: lumiFormat.py:92
IRDBAccessSvc
IRDBAccessSvc is an abstract interface to the athena service that provides the following functionalit...
Definition: IRDBAccessSvc.h:45
MuonGM::DblQ00Dbam::getName
std::string getName() const
Definition: DblQ00Dbam.h:45
IRDBRecordset_ptr
std::shared_ptr< IRDBRecordset > IRDBRecordset_ptr
Definition: IRDBAccessSvc.h:25
ActsTrk::to_string
std::string to_string(const DetectorType &type)
Definition: GeometryDefs.h:34
IRDBRecord.h
Definition of the abstract IRDBRecord interface.
MuonGM::DblQ00Dbam::m_nObj
unsigned int m_nObj
Definition: DblQ00Dbam.h:51
MuonGM::DblQ00Dbam::m_d
std::vector< DBAM > m_d
Definition: DblQ00Dbam.h:50
IRDBRecordset.h
Definition of the abstract IRDBRecordset interface.