ATLAS Offline Software
Loading...
Searching...
No Matches
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

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{
11}

◆ ~ALFA_RDBAccess()

ALFA_RDBAccess::~ALFA_RDBAccess ( )

Definition at line 13 of file ALFA_RDBAccess.cxx.

14{
15}

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 42 of file ALFA_RDBAccess.cxx.

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

◆ 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 17 of file ALFA_RDBAccess.cxx.

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

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 59 of file ALFA_RDBAccess.h.

◆ m_ListODFiberData

std::list<FIBERDATA> ALFA_RDBAccess::m_ListODFiberData

Definition at line 60 of file ALFA_RDBAccess.h.


The documentation for this class was generated from the following files: