ATLAS Offline Software
TileCablingSvc.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TILECONDITIONS_TILECABLINGSVC_H
6 #define TILECONDITIONS_TILECABLINGSVC_H
7 
8 // Tile includes
10 
11 // Athena includes
14 #include "Identifier/Identifier.h"
16 
17 // Gaudi includes
18 #include "GaudiKernel/ServiceHandle.h"
19 
20 // Forward declaration
21 class StoreGateSvc;
22 
23 //NGO This is a quick hack to make TileCablingService self contained, i.e. this
24 //NGO wrapper tool takes care of the initialization.
25 //NGO At some point TileCablingService should be made a tool, but this will introduce
26 //NGO many upstream code changes.
27 
28 class TileCablingSvc: public AthService {
29 
30  public:
31 
32  TileCablingSvc(const std::string& name, ISvcLocator* pSvcLocator);
33 
35 
37  return m_cablingService;
38  }
39 
40  const std::vector<std::string> & connectedDrawers() const {
41  return m_connectedDrawers;
42  }
43  const std::vector<Identifier> & disconnectedCells() const {
44  return m_disconnectedCells;
45  }
46 
47  private:
48 
50 
51  std::vector<std::string> m_connectedDrawers; // list of connected drawers
52  // we assume that list contains even number of elements - pairs of (begin,end) range,
53  // e.g. all drawers connected looks like this:
54  // [ "0x100", "0x13F", "0x200", "0x23F", "0x300", "0x33F", "0x400", "0x43F" ]
55  // and this is the list for few drawers in LBA connected:
56  // [ "0x10A", "0x10C", "0x121", "0x123" ]
57  // empty list is equivalent to list with all drawers connected
58 
60 
62 
63  //Use cache for channel_id to cell_id conversion
64  bool m_useCache;
65 
66  std::vector<Identifier> m_disconnectedCells; // list of disconnected cells
67  // the cells which appear in this list are:
68  // missing D4 in EBA15, EBC18
69  // 16 E3 cells in EBA (disconnected because of MBTS)
70  // 20 E3 cells in EBC (16 disconnected because of MBTS and 4 due to other reasons)
71 
73 };
74 
75 #endif
TileCablingSvc::ATLAS_NOT_THREAD_SAFE
virtual StatusCode initialize ATLAS_NOT_THREAD_SAFE() override
TileCablingSvc::connectedDrawers
const std::vector< std::string > & connectedDrawers() const
Definition: TileCablingSvc.h:40
initialize
void initialize()
Definition: run_EoverP.cxx:894
TileCablingSvc::disconnectedCells
const std::vector< Identifier > & disconnectedCells() const
Definition: TileCablingSvc.h:43
TileCablingSvc::m_connectedDrawers
std::vector< std::string > m_connectedDrawers
Definition: TileCablingSvc.h:51
TileCablingSvc::m_cablingService
const TileCablingService * m_cablingService
Definition: TileCablingSvc.h:49
StoreGateSvc
The Athena Transient Store API.
Definition: StoreGateSvc.h:124
TileCablingService.h
TileCablingSvc
Definition: TileCablingSvc.h:28
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthService
Definition: AthService.h:32
TileCablingSvc::m_detStore
ServiceHandle< StoreGateSvc > m_detStore
Definition: TileCablingSvc.h:59
TileCablingSvc::m_disconnectedCells
std::vector< Identifier > m_disconnectedCells
Definition: TileCablingSvc.h:66
TileCablingService
Definition: TileCablingService.h:23
TileCablingSvc::MAX_TILE_CELLS_UPGRADEBC
@ MAX_TILE_CELLS_UPGRADEBC
Definition: TileCablingSvc.h:72
TileCablingSvc::MAX_TILE_CELLS_UPGRADEA
@ MAX_TILE_CELLS_UPGRADEA
Definition: TileCablingSvc.h:72
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
TileCablingSvc::cablingService
const TileCablingService * cablingService() const
Definition: TileCablingSvc.h:36
TileCablingSvc::MAX_TILE_CELLS_UPGRADEABC
@ MAX_TILE_CELLS_UPGRADEABC
Definition: TileCablingSvc.h:72
TileCablingSvc::MAX_TILE_CELLS
MAX_TILE_CELLS
Definition: TileCablingSvc.h:72
AthService.h
TileCablingSvc::m_cablingType
int m_cablingType
Definition: TileCablingSvc.h:61
IOVSvcDefs.h
defines and typedefs for IOVSvc
checker_macros.h
Define macros for attributes used to control the static checker.
TileCablingSvc::TileCablingSvc
TileCablingSvc(const std::string &name, ISvcLocator *pSvcLocator)
Definition: TileCablingSvc.cxx:30
TileCablingSvc::m_useCache
bool m_useCache
Definition: TileCablingSvc.h:64
ServiceHandle< StoreGateSvc >