Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Public Member Functions | Private Attributes | List of all members
TRT_CablingSvc Class Reference

#include <TRT_CablingSvc.h>

Inheritance diagram for TRT_CablingSvc:
Collaboration diagram for TRT_CablingSvc:

Public Member Functions

 TRT_CablingSvc (const std::string &name, ISvcLocator *pSvcLocator)
 
virtual ~TRT_CablingSvc ()=default
 
virtual StatusCode initialize () override
 
virtual Identifier getIdentifier (const eformat::SubDetector &subdetector, const unsigned &rod, const int &bufferOffset, IdentifierHash &hashId) const override
 
virtual uint32_t getBufferOffset (const Identifier &StrawId) override
 
virtual std::vector< uint32_t > getRobID (Identifier &id) const override
 
virtual const std::vector< uint32_t > & getAllRods () const override
 

Private Attributes

const InDetDD::TRT_DetectorManagerm_manager {nullptr}
 
TRT_CablingDatam_cabling {nullptr}
 
TRT_FillCablingData_SR1_ECCm_cablingTool_SR1_ECC {nullptr}
 
TRT_FillCablingData_SR1m_cablingTool_SR1 {nullptr}
 
TRT_FillCablingData_TB04m_cablingTool_TB {nullptr}
 
TRT_FillCablingData_DC3m_cablingTool_DC3 {nullptr}
 
int m_TRTLayout {0}
 

Detailed Description

for TRT Mapping

Definition at line 33 of file TRT_CablingSvc.h.

Constructor & Destructor Documentation

◆ TRT_CablingSvc()

TRT_CablingSvc::TRT_CablingSvc ( const std::string &  name,
ISvcLocator *  pSvcLocator 
)

Definition at line 20 of file TRT_CablingSvc.cxx.

22  : base_class( name, pSvcLocator )
23 {
24 }

◆ ~TRT_CablingSvc()

virtual TRT_CablingSvc::~TRT_CablingSvc ( )
virtualdefault

Member Function Documentation

◆ getAllRods()

const std::vector< uint32_t > & TRT_CablingSvc::getAllRods ( ) const
overridevirtual

Definition at line 173 of file TRT_CablingSvc.cxx.

174 {
175  return m_cabling->get_allRods();
176 }

◆ getBufferOffset()

uint32_t TRT_CablingSvc::getBufferOffset ( const Identifier StrawId)
overridevirtual

Definition at line 156 of file TRT_CablingSvc.cxx.

157 {
158 
159  // DC3 Case
160  if ( m_TRTLayout == 6 )
161  {
162  return m_cabling->get_BufferOffset( StrawId );
163  }
164  else
165  {
166  ATH_MSG_FATAL( "TRT_CablingSvc::getBufferOffset called in invalid case !" );
167  assert(0);
168  }
169 
170  return 0;
171 }

◆ getIdentifier()

Identifier TRT_CablingSvc::getIdentifier ( const eformat::SubDetector &  subdetector,
const unsigned &  rod,
const int &  bufferOffset,
IdentifierHash hashId 
) const
overridevirtual

Definition at line 140 of file TRT_CablingSvc.cxx.

143 {
144  int intRod = (int) rod;
145 
146  // TB04, SR1 or DC3 Case
147  hashId = m_cabling->get_identifierHashForAllStraws(intRod, bufferOffset);
148  return m_cabling->get_identifierForAllStraws(intRod, bufferOffset);
149 }

◆ getRobID()

std::vector< uint32_t > TRT_CablingSvc::getRobID ( Identifier id) const
overridevirtual

Definition at line 111 of file TRT_CablingSvc.cxx.

112 {
113  // TB Case
114  if (m_TRTLayout == 1)
115  {
116  return m_cablingTool_TB->getRobID(id);
117  }
118  // SR1 Barrel
119  else if ( m_TRTLayout == 4 )
120  {
121  return m_cablingTool_SR1->getRobID( id );
122  }
123  // SR1 EC C
124  else if ( m_TRTLayout == 5 )
125  {
126  return m_cablingTool_SR1_ECC->getRobID( id );
127  }
128  // DC3
129  else if ( m_TRTLayout == 6 )
130  {
131  return m_cablingTool_DC3->getRobID(id);
132  }
133  else
134  {
135  std::vector<uint32_t> v;
136  return v;
137  }
138 }

◆ initialize()

StatusCode TRT_CablingSvc::initialize ( )
overridevirtual

Definition at line 27 of file TRT_CablingSvc.cxx.

28 {
29  StatusCode sc;
30  ATH_MSG_INFO( "TRT_CablingSvc::initialize" );
31 
32  // Retrieve Detector Store
33  ServiceHandle<StoreGateSvc> detStore("DetectorStore",name());
34  ATH_CHECK(detStore.retrieve());
35  ATH_CHECK(detStore->retrieve(m_manager,"TRT"));
36 
37  // Get ToolSvc
38  SmartIF<IToolSvc> toolSvc{service("ToolSvc")};
39  ATH_CHECK( toolSvc.isValid() );
40 
41  // Get tool for filling of cabling data
42  std::string toolType;
43  if (m_manager->getLayout()=="TestBeam")
44  {
45  m_TRTLayout = 1;
46  toolType = "TRT_FillCablingData_TB04";
47  ATH_MSG_INFO( "TRT TB04 Cabling" );
48  if(StatusCode::SUCCESS !=toolSvc->retrieveTool(toolType,m_cablingTool_TB))
49  {
50  ATH_MSG_ERROR( " Can't get TRT_FillCablingData_TB04 tool " );
51  return StatusCode::FAILURE;
52  }
54  }
55  // DC1
56  else if ((m_manager->getLayout() == "Initial") ||
57  (m_manager->getLayout() == "Final") )
58  {
59  m_TRTLayout = 6;
60  toolType = "TRT_FillCablingData_DC3";
61  ATH_MSG_INFO( "TRT DC3 Cabling" );
62  if( StatusCode::SUCCESS !=
63  toolSvc->retrieveTool(toolType,m_cablingTool_DC3) )
64  {
65  ATH_MSG_ERROR( " Can't get TRT_FillCablingData_DC3 tool " );
66  return StatusCode::FAILURE;
67  }
68 
70 
71  }
72  else if ( m_manager->getLayout()=="SR1" ) // SR1 Barrel cosmics layout
73  {
74  m_TRTLayout = 4;
75  toolType = "TRT_FillCablingData_SR1";
76  ATH_MSG_INFO( "TRT SR1 Cabling" );
77  if(StatusCode::SUCCESS !=toolSvc->retrieveTool(toolType,m_cablingTool_SR1))
78  {
79  ATH_MSG_ERROR( " Can't get TRT_FillCablingData_SR1 tool " );
80  return StatusCode::FAILURE;
81  }
82 
84  }
85  else if ( m_manager->getLayout()=="SR1-EndcapC" ) // SR1 EC C cosmics layout
86  {
87  m_TRTLayout = 5;
88  toolType = "TRT_FillCablingData_SR1_ECC";
89  ATH_MSG_INFO( "TRT SR1 Cabling" );
90  if( StatusCode::SUCCESS !=
91  toolSvc->retrieveTool(toolType,m_cablingTool_SR1_ECC) )
92  {
93  ATH_MSG_ERROR( " Can't get TRT_FillCablingData_SR1_ECC tool " );
94  return StatusCode::FAILURE;
95  }
96 
98  }
99  else
100  {
101  ATH_MSG_FATAL( " Layout is not defined for TRT_FillCablingData (" << m_manager->getLayout() << ")! " );
102  return StatusCode::FAILURE;
103  }
104 
105  ATH_MSG_INFO( "TRT_CablingSvc::initializiation finished" );
106 
107  return sc;
108 }

Member Data Documentation

◆ m_cabling

TRT_CablingData* TRT_CablingSvc::m_cabling {nullptr}
private

Definition at line 61 of file TRT_CablingSvc.h.

◆ m_cablingTool_DC3

TRT_FillCablingData_DC3* TRT_CablingSvc::m_cablingTool_DC3 {nullptr}
private

Definition at line 66 of file TRT_CablingSvc.h.

◆ m_cablingTool_SR1

TRT_FillCablingData_SR1* TRT_CablingSvc::m_cablingTool_SR1 {nullptr}
private

Definition at line 64 of file TRT_CablingSvc.h.

◆ m_cablingTool_SR1_ECC

TRT_FillCablingData_SR1_ECC* TRT_CablingSvc::m_cablingTool_SR1_ECC {nullptr}
private

Definition at line 63 of file TRT_CablingSvc.h.

◆ m_cablingTool_TB

TRT_FillCablingData_TB04* TRT_CablingSvc::m_cablingTool_TB {nullptr}
private

Definition at line 65 of file TRT_CablingSvc.h.

◆ m_manager

const InDetDD::TRT_DetectorManager* TRT_CablingSvc::m_manager {nullptr}
private

Definition at line 60 of file TRT_CablingSvc.h.

◆ m_TRTLayout

int TRT_CablingSvc::m_TRTLayout {0}
private

Definition at line 67 of file TRT_CablingSvc.h.


The documentation for this class was generated from the following files:
TRT_CablingSvc::m_cablingTool_SR1
TRT_FillCablingData_SR1 * m_cablingTool_SR1
Definition: TRT_CablingSvc.h:64
TRT_FillCablingData_TB04::fillData
TRT_CablingData * fillData()
Definition: TRT_FillCablingData_TB04.cxx:100
TRT_FillCablingData_DC3::fillData
TRT_CablingData * fillData()
Definition: TRT_FillCablingData_DC3.cxx:135
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
TRT_CablingSvc::m_cablingTool_SR1_ECC
TRT_FillCablingData_SR1_ECC * m_cablingTool_SR1_ECC
Definition: TRT_CablingSvc.h:63
TRT_FillCablingData_TB04::getRobID
std::vector< uint32_t > getRobID(Identifier id) const
Definition: TRT_FillCablingData_TB04.cxx:407
TRT_CablingSvc::m_manager
const InDetDD::TRT_DetectorManager * m_manager
Definition: TRT_CablingSvc.h:60
TRT_CablingData::get_allRods
const std::vector< uint32_t > & get_allRods() const
Definition: TRT_CablingData.cxx:187
TRT_CablingSvc::m_cablingTool_DC3
TRT_FillCablingData_DC3 * m_cablingTool_DC3
Definition: TRT_CablingSvc.h:66
TRT_FillCablingData_SR1::getRobID
std::vector< uint32_t > getRobID(Identifier id) const
Definition: TRT_FillCablingData_SR1.cxx:987
TRT_FillCablingData_DC3::getRobID
std::vector< uint32_t > getRobID(Identifier id) const
Definition: TRT_FillCablingData_DC3.cxx:1980
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
TRT_CablingData::get_identifierHashForAllStraws
IdentifierHash get_identifierHashForAllStraws(int rod, int bufferPosition) const
Definition: TRT_CablingData.cxx:127
TRT_CablingData::get_BufferOffset
uint32_t get_BufferOffset(Identifier StrawId)
Definition: TRT_CablingData.cxx:146
TRT_FillCablingData_SR1::fillData
TRT_CablingData * fillData()
Definition: TRT_FillCablingData_SR1.cxx:96
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
python.LArMinBiasAlgConfig.int
int
Definition: LArMinBiasAlgConfig.py:59
InDetDD::InDetDetectorManager::getLayout
const std::string & getLayout() const
Definition: InDetDetectorManager.cxx:38
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
RunTileMonitoring.rod
rod
Definition: RunTileMonitoring.py:134
TRT_CablingSvc::m_cablingTool_TB
TRT_FillCablingData_TB04 * m_cablingTool_TB
Definition: TRT_CablingSvc.h:65
python.PyKernel.detStore
detStore
Definition: PyKernel.py:41
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
TRT_CablingSvc::m_cabling
TRT_CablingData * m_cabling
Definition: TRT_CablingSvc.h:61
TRT_CablingData::get_identifierForAllStraws
Identifier get_identifierForAllStraws(int rod, int bufferPosition) const
Definition: TRT_CablingData.cxx:120
python.PyAthena.v
v
Definition: PyAthena.py:154
TRT_FillCablingData_SR1_ECC::fillData
TRT_CablingData * fillData()
Definition: TRT_FillCablingData_SR1_ECC.cxx:101
TRT_CablingSvc::m_TRTLayout
int m_TRTLayout
Definition: TRT_CablingSvc.h:67
TRT_FillCablingData_SR1_ECC::getRobID
std::vector< uint32_t > getRobID(Identifier id) const
Definition: TRT_FillCablingData_SR1_ECC.cxx:1103
ServiceHandle< StoreGateSvc >