ATLAS Offline Software
Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
ALFA_RDBAccess Class Reference

#include <ALFA_RDBAccess.h>

Collaboration diagram for ALFA_RDBAccess:

Public Member Functions

 ALFA_RDBAccess ()
 
 ~ALFA_RDBAccess ()
 
bool ReadGeometry (const eRPotName eRPName, eFiberType eFType, const std::string &element, const std::string &tag, const std::string &node)
 

Public Attributes

std::list< FIBERDATAm_ListFiberData
 
std::list< FIBERDATAm_ListODFiberData
 

Private Member Functions

bool ReadFiberGeometry (IRDBAccessSvc *iAccessSvc, const std::string &element, const std::string &tag, const std::string &node)
 

Private Attributes

IRDBRecordset_ptr m_fiberGeometry
 
ISvcLocator * m_svcLocator
 

Detailed Description

Definition at line 39 of file ALFA_RDBAccess.h.

Constructor & Destructor Documentation

◆ ALFA_RDBAccess()

ALFA_RDBAccess::ALFA_RDBAccess ( )

Definition at line 9 of file ALFA_RDBAccess.cxx.

10  : m_svcLocator(nullptr)
11 {
12 
13 }

◆ ~ALFA_RDBAccess()

ALFA_RDBAccess::~ALFA_RDBAccess ( )

Definition at line 15 of file ALFA_RDBAccess.cxx.

16 {
17 }

Member Function Documentation

◆ ReadFiberGeometry()

bool ALFA_RDBAccess::ReadFiberGeometry ( IRDBAccessSvc iAccessSvc,
const std::string &  element,
const std::string &  tag,
const std::string &  node 
)
private

Definition at line 46 of file ALFA_RDBAccess.cxx.

47 {
48  bool bRes = false;
49 
50  MsgStream LogStream(Athena::getMessageSvc(), "ALFA_RDBAaccess::ReadFiberGeometry");
51 
52  std::list<FIBERDATA> listFData;
53  listFData.clear();
54 
55  m_fiberGeometry = iAccessSvc->getRecordsetPtr(element, tag, node);
56 
57  if (!m_fiberGeometry->size())
58  {
59  bRes = false;
60  LogStream << MSG::FATAL << " ERROR: Unable to retrieve " << element <<" data from database" << endmsg;
61  }
62  else
63  {
64  FIBERDATA FiberData;
65  IRDBRecordset::const_iterator AccessSvc_iter;
66 
67  for(AccessSvc_iter = m_fiberGeometry->begin(); AccessSvc_iter != m_fiberGeometry->end(); ++AccessSvc_iter)
68  {
69  FiberData.nPotID = (*AccessSvc_iter)->getInt("POTID");
70  FiberData.nLayerID = (*AccessSvc_iter)->getInt("COORDID");
71  FiberData.nFiberID = (*AccessSvc_iter)->getInt("FIBREID");
72  FiberData.fSlope = (*AccessSvc_iter)->getDouble("SLOPE");
73  FiberData.fOffset = (*AccessSvc_iter)->getDouble("OFFSET");
74  FiberData.fZPos = (*AccessSvc_iter)->getDouble("ZL");
75 
76  listFData.push_back(FiberData);
77  }
78 
79  if (!listFData.empty())
80  {
81  m_ListFiberData=listFData;
82  bRes = true;
83  }
84  }
85 
86  listFData.clear();
87 
88  return bRes;
89 }

◆ ReadGeometry()

bool ALFA_RDBAccess::ReadGeometry ( const eRPotName  eRPName,
eFiberType  eFType,
const std::string &  element,
const std::string &  tag,
const std::string &  node 
)

Definition at line 19 of file ALFA_RDBAccess.cxx.

23 {
24  bool bRes = false;
25 
26  MsgStream LogStream(Athena::getMessageSvc(), "ALFA_RDBAaccess::ReadGeometry");
27 
28  m_svcLocator = Gaudi::svcLocator();
29  IRDBAccessSvc* iAccessSvc = nullptr;
30 
31  StatusCode result = m_svcLocator->service("RDBAccessSvc", iAccessSvc);
32  if (result.isFailure() || iAccessSvc == nullptr)
33  {
34  LogStream << MSG::FATAL << " Could not initialize RDBAccessSvc! ((RP no."<<eRPName<<", Fiber type "<<eFType<<")"<< endmsg;
35 
36  throw GaudiException(" Could not initalize RDBAccessSvc ", "ALFA_RDBAccess::ReadGeometry", StatusCode::FAILURE);
37  }
38 
39 
40 
41  bRes=ReadFiberGeometry(iAccessSvc, element, tag, node);
42 
43  return bRes;
44 }

Member Data Documentation

◆ m_fiberGeometry

IRDBRecordset_ptr ALFA_RDBAccess::m_fiberGeometry
private

Definition at line 56 of file ALFA_RDBAccess.h.

◆ m_ListFiberData

std::list<FIBERDATA> ALFA_RDBAccess::m_ListFiberData

Definition at line 60 of file ALFA_RDBAccess.h.

◆ m_ListODFiberData

std::list<FIBERDATA> ALFA_RDBAccess::m_ListODFiberData

Definition at line 61 of file ALFA_RDBAccess.h.

◆ m_svcLocator

ISvcLocator* ALFA_RDBAccess::m_svcLocator
private

Definition at line 57 of file ALFA_RDBAccess.h.


The documentation for this class was generated from the following files:
_FIBERDATA::fZPos
double fZPos
Definition: ALFA_RDBAccess.h:36
get_generator_info.result
result
Definition: get_generator_info.py:21
python.Constants.FATAL
int FATAL
Definition: Control/AthenaCommon/python/Constants.py:19
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.
_FIBERDATA::nPotID
int nPotID
Definition: ALFA_RDBAccess.h:30
_FIBERDATA::nFiberID
int nFiberID
Definition: ALFA_RDBAccess.h:32
Athena::getMessageSvc
IMessageSvc * getMessageSvc(bool quiet=false)
Definition: getMessageSvc.cxx:20
ALFA_RDBAccess::m_ListFiberData
std::list< FIBERDATA > m_ListFiberData
Definition: ALFA_RDBAccess.h:60
IRDBAccessSvc
IRDBAccessSvc is an abstract interface to the athena service that provides the following functionalit...
Definition: IRDBAccessSvc.h:45
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ALFA_RDBAccess::ReadFiberGeometry
bool ReadFiberGeometry(IRDBAccessSvc *iAccessSvc, const std::string &element, const std::string &tag, const std::string &node)
Definition: ALFA_RDBAccess.cxx:46
_FIBERDATA::fSlope
double fSlope
Definition: ALFA_RDBAccess.h:34
ALFA_RDBAccess::m_svcLocator
ISvcLocator * m_svcLocator
Definition: ALFA_RDBAccess.h:57
_FIBERDATA
Definition: ALFA_RDBAccess.h:29
ALFA_RDBAccess::m_fiberGeometry
IRDBRecordset_ptr m_fiberGeometry
Definition: ALFA_RDBAccess.h:56
CaloCondBlobAlgs_fillNoiseFromASCII.tag
string tag
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:24
_FIBERDATA::fOffset
double fOffset
Definition: ALFA_RDBAccess.h:35
_FIBERDATA::nLayerID
int nLayerID
Definition: ALFA_RDBAccess.h:31
node
Definition: memory_hooks-stdcmalloc.h:74
IRDBRecordset::const_iterator
RecordsVector::const_iterator const_iterator
Definition: IRDBRecordset.h:52