ATLAS Offline Software
Loading...
Searching...
No Matches
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
21class 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
29
30 public:
31
32 TileCablingSvc(const std::string& name, ISvcLocator* pSvcLocator);
33
34 virtual StatusCode initialize ATLAS_NOT_THREAD_SAFE () override;
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 {
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
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
defines and typedefs for IOVSvc
Define macros for attributes used to control the static checker.
The Athena Transient Store API.
std::vector< Identifier > m_disconnectedCells
virtual StatusCode initialize ATLAS_NOT_THREAD_SAFE() override
std::vector< std::string > m_connectedDrawers
const std::vector< Identifier > & disconnectedCells() const
const TileCablingService * m_cablingService
const TileCablingService * cablingService() const
const std::vector< std::string > & connectedDrawers() const
TileCablingSvc(const std::string &name, ISvcLocator *pSvcLocator)
ServiceHandle< StoreGateSvc > m_detStore
void initialize()