ATLAS Offline Software
Public Member Functions | Static 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 ()
 
virtual StatusCode initialize ()
 
virtual StatusCode finalize ()
 
virtual StatusCode queryInterface (const InterfaceID &riid, void **ppvInterface)
 
Identifier getIdentifier (const eformat::SubDetector &subdetector, const unsigned &rod, const int &bufferOffset, IdentifierHash &hashId) const
 
uint32_t getBufferOffset (const Identifier &StrawId)
 
std::vector< uint32_t > getRobID (Identifier &id) const
 
const std::vector< uint32_t > & getAllRods () const
 
MsgStream & msg () const
 
MsgStream & msg (const MSG::Level lvl) const
 
bool msgLvl (const MSG::Level lvl) const
 

Static Public Member Functions

static const InterfaceID & interfaceID ()
 

Private Attributes

const InDetDD::TRT_DetectorManagerm_manager
 
const TRT_IDm_idHelper
 
IdContext m_cntx
 
TRT_CablingDatam_cabling
 
TRT_FillCablingData_SR1_ECCm_cablingTool_SR1_ECC
 
TRT_FillCablingData_SR1m_cablingTool_SR1
 
TRT_FillCablingData_TB04m_cablingTool_TB
 
TRT_FillCablingData_DC1m_cablingTool_DC1
 
TRT_FillCablingData_DC2m_cablingTool_DC2
 
TRT_FillCablingData_DC3m_cablingTool_DC3
 
int m_TRTLayout
 
int m_numberOfStrawsInROD
 
int m_numberOfStrawsInBarrelROD
 
int m_shiftForLeftEndCapStraws
 
int m_shiftForLeftBarrelStraws
 
int m_shiftForRightBarrelStraws
 
int m_shiftForRightEndCapStraws
 

Detailed Description

Definition at line 36 of file TRT_CablingSvc.h.

Constructor & Destructor Documentation

◆ TRT_CablingSvc()

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

Definition at line 23 of file TRT_CablingSvc.cxx.

25  : AthService( name, pSvcLocator ),
26  m_manager ( nullptr ),
27  m_idHelper ( nullptr ),
28  m_cabling ( nullptr ),
29  m_cablingTool_SR1_ECC ( nullptr ),
30  m_cablingTool_SR1 ( nullptr ),
31  m_cablingTool_TB ( nullptr ),
32  m_cablingTool_DC1 ( nullptr ),
33  m_cablingTool_DC2 ( nullptr ),
34  m_cablingTool_DC3 ( nullptr ),
35  m_TRTLayout ( 0 ),
42 {
43  // declareInterface< ITRT_CablingSvc >( this );
44 }

◆ ~TRT_CablingSvc()

TRT_CablingSvc::~TRT_CablingSvc ( )
virtual

Definition at line 47 of file TRT_CablingSvc.cxx.

48 {}

Member Function Documentation

◆ finalize()

StatusCode TRT_CablingSvc::finalize ( )
virtual

Definition at line 161 of file TRT_CablingSvc.cxx.

162 {
163 
164  return StatusCode::SUCCESS;
165 }

◆ getAllRods()

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

Implements ITRT_CablingSvc.

Definition at line 302 of file TRT_CablingSvc.cxx.

303 {
304  return m_cabling->get_allRods();
305 }

◆ getBufferOffset()

uint32_t TRT_CablingSvc::getBufferOffset ( const Identifier StrawId)
virtual

Implements ITRT_CablingSvc.

Definition at line 284 of file TRT_CablingSvc.cxx.

285 {
286 
287  // DC3 Case
288  if ( m_TRTLayout == 6 )
289  {
290  return m_cabling->get_BufferOffset( StrawId );
291  }
292  else
293  {
294  ATH_MSG_FATAL( "TRT_CablingSvc::getBufferOffset called in invalid case !" );
295  assert(0);
296  }
297 
298  return 0;
299 }

◆ getIdentifier()

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

Implements ITRT_CablingSvc.

Definition at line 230 of file TRT_CablingSvc.cxx.

233 {
234  int intRod = (int) rod;
235  int shift;
236 
237  // TB04, SR1 or DC3 Case
238  if ( m_TRTLayout == 1 || m_TRTLayout == 4 || m_TRTLayout == 5 || m_TRTLayout == 6 )
239  {
240  hashId = m_cabling->get_identifierHashForAllStraws(intRod, bufferOffset);
241  return m_cabling->get_identifierForAllStraws(intRod, bufferOffset);
242  }
243 
244  // DC1, DC2 Case
245  int straw = bufferOffset;
246  if (subdetector == eformat::TRT_ENDCAP_A_SIDE)
247  {
249  intRod * m_numberOfStrawsInROD + straw;
250  hashId = m_cabling->get_identifierHashForAllStraws(shift);
251  return m_cabling->get_identifierForAllStraws(shift);
252  }
253 
254  if (subdetector == eformat::TRT_BARREL_A_SIDE)
255  {
256  shift = m_shiftForLeftBarrelStraws +
258  hashId = m_cabling->get_identifierHashForAllStraws(shift);
259  return m_cabling->get_identifierForAllStraws(shift);
260  }
261 
262  if (subdetector == eformat::TRT_BARREL_C_SIDE)
263  {
266  hashId = m_cabling->get_identifierHashForAllStraws(shift);
267  return m_cabling->get_identifierForAllStraws(shift);
268  }
269 
271  intRod * m_numberOfStrawsInROD + straw;
272  hashId = m_cabling->get_identifierHashForAllStraws(shift);
273  return m_cabling->get_identifierForAllStraws(shift);
274 
275 }

◆ getRobID()

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

Implements ITRT_CablingSvc.

Definition at line 187 of file TRT_CablingSvc.cxx.

188 {
189 
190  // TB Case
191  if (m_TRTLayout == 1)
192  {
193  return m_cablingTool_TB->getRobID(id);
194  }
195  // DC1 Case
196  else if (m_TRTLayout == 2)
197  {
198  return m_cablingTool_DC1->getRobID(id);
199  }
200  // DC2
201  else if ( m_TRTLayout == 3 )
202  {
203  return m_cablingTool_DC2->getRobID(id);
204  }
205  // SR1 Barrel
206  else if ( m_TRTLayout == 4 )
207  {
208  return m_cablingTool_SR1->getRobID( id );
209  }
210  // SR1 EC C
211  else if ( m_TRTLayout == 5 )
212  {
213  return m_cablingTool_SR1_ECC->getRobID( id );
214  }
215  // DC3
216  else if ( m_TRTLayout == 6 )
217  {
218  return m_cablingTool_DC3->getRobID(id);
219  }
220  else
221  {
222  // std::vector<uint32_t> *vint = new std::vector<uint32_t>;
223  // return *vint;
224 
225  std::vector<uint32_t> v;
226  return v;
227  }
228 }

◆ initialize()

StatusCode TRT_CablingSvc::initialize ( )
virtual

Definition at line 53 of file TRT_CablingSvc.cxx.

54 {
55  StatusCode sc;
56  ATH_MSG_INFO( "TRT_CablingSvc::initialize" );
57 
58  // Retrieve Detector Store
59  ServiceHandle<StoreGateSvc> detStore("DetectorStore",name());
60  if (detStore.retrieve().isFailure())
61  {
62  ATH_MSG_FATAL( "Detector service not found !" );
63  return StatusCode::FAILURE;
64  }
65 
66 
67  // Retrieve detector manager
68  sc = detStore->retrieve(m_manager,"TRT");
69  if (sc.isFailure()) {
70  ATH_MSG_FATAL( "Cannot retrieve TRT_DetectorManager!" );
71  return StatusCode::FAILURE;
72  }
73 
74  // Get the TRT Helper
75  if (detStore->retrieve(m_idHelper, "TRT_ID").isFailure())
76  {
77  ATH_MSG_FATAL( "Could not get TRT ID helper" );
78  return StatusCode::FAILURE;
79  }
81 
82  // Get ToolSvc
83  IToolSvc* toolSvc;
84  sc = service("ToolSvc",toolSvc);
85  if (sc.isFailure())
86  {
87  ATH_MSG_ERROR( "Can't get ToolSvc!" );
88  return StatusCode::FAILURE;
89  }
90 
91  // Get tool for filling of cabling data
92  std::string toolType;
93  if (m_manager->getLayout()=="TestBeam")
94  {
95  m_TRTLayout = 1;
96  toolType = "TRT_FillCablingData_TB04";
97  ATH_MSG_INFO( "TRT TB04 Cabling" );
98  if(StatusCode::SUCCESS !=toolSvc->retrieveTool(toolType,m_cablingTool_TB))
99  {
100  ATH_MSG_ERROR( " Can't get TRT_FillCablingData_TB04 tool " );
101  return StatusCode::FAILURE;
102  }
104  }
105  // DC1
106  else if ((m_manager->getLayout() == "Initial") ||
107  (m_manager->getLayout() == "Final") )
108  {
109  m_TRTLayout = 6;
110  toolType = "TRT_FillCablingData_DC3";
111  ATH_MSG_INFO( "TRT DC3 Cabling" );
112  if( StatusCode::SUCCESS !=
113  toolSvc->retrieveTool(toolType,m_cablingTool_DC3) )
114  {
115  ATH_MSG_ERROR( " Can't get TRT_FillCablingData_DC3 tool " );
116  return StatusCode::FAILURE;
117  }
118 
120 
121  }
122  else if ( m_manager->getLayout()=="SR1" ) // SR1 Barrel cosmics layout
123  {
124  m_TRTLayout = 4;
125  toolType = "TRT_FillCablingData_SR1";
126  ATH_MSG_INFO( "TRT SR1 Cabling" );
127  if(StatusCode::SUCCESS !=toolSvc->retrieveTool(toolType,m_cablingTool_SR1))
128  {
129  ATH_MSG_ERROR( " Can't get TRT_FillCablingData_SR1 tool " );
130  return StatusCode::FAILURE;
131  }
132 
134  }
135  else if ( m_manager->getLayout()=="SR1-EndcapC" ) // SR1 EC C cosmics layout
136  {
137  m_TRTLayout = 5;
138  toolType = "TRT_FillCablingData_SR1_ECC";
139  ATH_MSG_INFO( "TRT SR1 Cabling" );
140  if( StatusCode::SUCCESS !=
141  toolSvc->retrieveTool(toolType,m_cablingTool_SR1_ECC) )
142  {
143  ATH_MSG_ERROR( " Can't get TRT_FillCablingData_SR1_ECC tool " );
144  return StatusCode::FAILURE;
145  }
146 
148  }
149  else
150  {
151  ATH_MSG_FATAL( " Layout is not defined for TRT_FillCablingData (" << m_manager->getLayout() << ")! " );
152  return StatusCode::FAILURE;
153  }
154 
155  ATH_MSG_INFO( "TRT_CablingSvc::initializiation finished" );
156 
157  return sc;
158 }

◆ interfaceID()

const InterfaceID & ITRT_CablingSvc::interfaceID ( )
inlinestaticinherited

Definition at line 65 of file ITRT_CablingSvc.h.

66 {
67  static const InterfaceID IID ( "ITRT_CablingSvc", 1, 0 );
68 
69  return IID;
70 }

◆ msg() [1/2]

MsgStream& AthCommonMsg< Service >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24  {
25  return this->msgStream();
26  }

◆ msg() [2/2]

MsgStream& AthCommonMsg< Service >::msg ( const MSG::Level  lvl) const
inlineinherited

Definition at line 27 of file AthCommonMsg.h.

27  {
28  return this->msgStream(lvl);
29  }

◆ msgLvl()

bool AthCommonMsg< Service >::msgLvl ( const MSG::Level  lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30  {
31  return this->msgLevel(lvl);
32  }

◆ queryInterface()

StatusCode TRT_CablingSvc::queryInterface ( const InterfaceID &  riid,
void **  ppvInterface 
)
virtual

Definition at line 169 of file TRT_CablingSvc.cxx.

171 {
172  if ( IIncidentListener::interfaceID().versionMatch(riid) )
173  {
174  *ppvInterface = dynamic_cast<IIncidentListener*>(this);
175  } else if ( ITRT_CablingSvc::interfaceID().versionMatch(riid) )
176  {
177  *ppvInterface = dynamic_cast<ITRT_CablingSvc*>(this);
178  } else {
179  // Interface is not directly available : try out a base class
180  return AthService::queryInterface(riid, ppvInterface);
181  }
182  addRef();
183  return StatusCode::SUCCESS;
184 }

Member Data Documentation

◆ m_cabling

TRT_CablingData* TRT_CablingSvc::m_cabling
private

Definition at line 76 of file TRT_CablingSvc.h.

◆ m_cablingTool_DC1

TRT_FillCablingData_DC1* TRT_CablingSvc::m_cablingTool_DC1
private

Definition at line 81 of file TRT_CablingSvc.h.

◆ m_cablingTool_DC2

TRT_FillCablingData_DC2* TRT_CablingSvc::m_cablingTool_DC2
private

Definition at line 82 of file TRT_CablingSvc.h.

◆ m_cablingTool_DC3

TRT_FillCablingData_DC3* TRT_CablingSvc::m_cablingTool_DC3
private

Definition at line 83 of file TRT_CablingSvc.h.

◆ m_cablingTool_SR1

TRT_FillCablingData_SR1* TRT_CablingSvc::m_cablingTool_SR1
private

Definition at line 79 of file TRT_CablingSvc.h.

◆ m_cablingTool_SR1_ECC

TRT_FillCablingData_SR1_ECC* TRT_CablingSvc::m_cablingTool_SR1_ECC
private

Definition at line 78 of file TRT_CablingSvc.h.

◆ m_cablingTool_TB

TRT_FillCablingData_TB04* TRT_CablingSvc::m_cablingTool_TB
private

Definition at line 80 of file TRT_CablingSvc.h.

◆ m_cntx

IdContext TRT_CablingSvc::m_cntx
private

Definition at line 75 of file TRT_CablingSvc.h.

◆ m_idHelper

const TRT_ID* TRT_CablingSvc::m_idHelper
private

Definition at line 74 of file TRT_CablingSvc.h.

◆ m_manager

const InDetDD::TRT_DetectorManager* TRT_CablingSvc::m_manager
private

Definition at line 73 of file TRT_CablingSvc.h.

◆ m_numberOfStrawsInBarrelROD

int TRT_CablingSvc::m_numberOfStrawsInBarrelROD
private

Definition at line 88 of file TRT_CablingSvc.h.

◆ m_numberOfStrawsInROD

int TRT_CablingSvc::m_numberOfStrawsInROD
private

Definition at line 87 of file TRT_CablingSvc.h.

◆ m_shiftForLeftBarrelStraws

int TRT_CablingSvc::m_shiftForLeftBarrelStraws
private

Definition at line 90 of file TRT_CablingSvc.h.

◆ m_shiftForLeftEndCapStraws

int TRT_CablingSvc::m_shiftForLeftEndCapStraws
private

Definition at line 89 of file TRT_CablingSvc.h.

◆ m_shiftForRightBarrelStraws

int TRT_CablingSvc::m_shiftForRightBarrelStraws
private

Definition at line 91 of file TRT_CablingSvc.h.

◆ m_shiftForRightEndCapStraws

int TRT_CablingSvc::m_shiftForRightEndCapStraws
private

Definition at line 92 of file TRT_CablingSvc.h.

◆ m_TRTLayout

int TRT_CablingSvc::m_TRTLayout
private

Definition at line 84 of file TRT_CablingSvc.h.


The documentation for this class was generated from the following files:
AthService::AthService
AthService()
TRT_CablingSvc::m_cablingTool_SR1
TRT_FillCablingData_SR1 * m_cablingTool_SR1
Definition: TRT_CablingSvc.h:79
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
TRT::Hit::straw
@ straw
Definition: HitInfo.h:82
TRT_CablingSvc::m_numberOfStrawsInROD
int m_numberOfStrawsInROD
Definition: TRT_CablingSvc.h:87
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
TRT_CablingSvc::m_shiftForLeftBarrelStraws
int m_shiftForLeftBarrelStraws
Definition: TRT_CablingSvc.h:90
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
TRT_CablingSvc::m_cablingTool_SR1_ECC
TRT_FillCablingData_SR1_ECC * m_cablingTool_SR1_ECC
Definition: TRT_CablingSvc.h:78
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:73
ITRT_CablingSvc::interfaceID
static const InterfaceID & interfaceID()
Definition: ITRT_CablingSvc.h:65
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:83
TRT_FillCablingData_SR1::getRobID
std::vector< uint32_t > getRobID(Identifier id) const
Definition: TRT_FillCablingData_SR1.cxx:987
ITRT_CablingSvc
Definition: ITRT_CablingSvc.h:24
TRT_CablingSvc::m_cablingTool_DC2
TRT_FillCablingData_DC2 * m_cablingTool_DC2
Definition: TRT_CablingSvc.h:82
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
TRT_ID::straw_layer_context
IdContext straw_layer_context(void) const
straw_layer id
Definition: TRT_ID.h:713
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
InDetDD::InDetDetectorManager::getLayout
const std::string & getLayout() const
Definition: InDetDetectorManager.cxx:38
TRT_CablingSvc::m_shiftForRightEndCapStraws
int m_shiftForRightEndCapStraws
Definition: TRT_CablingSvc.h:92
RunTileMonitoring.rod
rod
Definition: RunTileMonitoring.py:134
TRT_CablingSvc::m_cablingTool_TB
TRT_FillCablingData_TB04 * m_cablingTool_TB
Definition: TRT_CablingSvc.h:80
python.PyKernel.detStore
detStore
Definition: PyKernel.py:41
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
TRT_CablingSvc::m_cabling
TRT_CablingData * m_cabling
Definition: TRT_CablingSvc.h:76
TRT_CablingData::get_identifierForAllStraws
Identifier get_identifierForAllStraws(int rod, int bufferPosition) const
Definition: TRT_CablingData.cxx:120
python.PyAthena.v
v
Definition: PyAthena.py:157
TRT_FillCablingData_DC2::getRobID
std::vector< uint32_t > getRobID(Identifier &id) const
Definition: TRT_FillCablingData_DC2.cxx:788
TRT_CablingSvc::m_cntx
IdContext m_cntx
Definition: TRT_CablingSvc.h:75
TRT_CablingSvc::m_numberOfStrawsInBarrelROD
int m_numberOfStrawsInBarrelROD
Definition: TRT_CablingSvc.h:88
TRT_FillCablingData_SR1_ECC::fillData
TRT_CablingData * fillData()
Definition: TRT_FillCablingData_SR1_ECC.cxx:101
TRT_CablingSvc::m_cablingTool_DC1
TRT_FillCablingData_DC1 * m_cablingTool_DC1
Definition: TRT_CablingSvc.h:81
TRT_CablingSvc::m_TRTLayout
int m_TRTLayout
Definition: TRT_CablingSvc.h:84
TRT_CablingSvc::m_shiftForRightBarrelStraws
int m_shiftForRightBarrelStraws
Definition: TRT_CablingSvc.h:91
TRT_FillCablingData_SR1_ECC::getRobID
std::vector< uint32_t > getRobID(Identifier id) const
Definition: TRT_FillCablingData_SR1_ECC.cxx:1103
TRT_CablingSvc::m_shiftForLeftEndCapStraws
int m_shiftForLeftEndCapStraws
Definition: TRT_CablingSvc.h:89
TRT_FillCablingData_DC1::getRobID
std::vector< uint32_t > getRobID(Identifier &id) const
Definition: TRT_FillCablingData_DC1.cxx:786
ServiceHandle< StoreGateSvc >
TRT_CablingSvc::m_idHelper
const TRT_ID * m_idHelper
Definition: TRT_CablingSvc.h:74