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
13#include "Identifier/Identifier.h"
15
16// Gaudi includes
17#include "GaudiKernel/ServiceHandle.h"
18
19// Forward declaration
20class StoreGateSvc;
21
22//NGO This is a quick hack to make TileCablingService self contained, i.e. this
23//NGO wrapper tool takes care of the initialization.
24//NGO At some point TileCablingService should be made a tool, but this will introduce
25//NGO many upstream code changes.
26
28
29 public:
30
31 TileCablingSvc(const std::string& name, ISvcLocator* pSvcLocator);
32
33 virtual StatusCode initialize ATLAS_NOT_THREAD_SAFE () override;
34
36 return m_cablingService;
37 }
38
39 const std::vector<std::string> & connectedDrawers() const {
40 return m_connectedDrawers;
41 }
42 const std::vector<Identifier> & disconnectedCells() const {
44 }
45
46 private:
47
49
50 std::vector<std::string> m_connectedDrawers; // list of connected drawers
51 // we assume that list contains even number of elements - pairs of (begin,end) range,
52 // e.g. all drawers connected looks like this:
53 // [ "0x100", "0x13F", "0x200", "0x23F", "0x300", "0x33F", "0x400", "0x43F" ]
54 // and this is the list for few drawers in LBA connected:
55 // [ "0x10A", "0x10C", "0x121", "0x123" ]
56 // empty list is equivalent to list with all drawers connected
57
59
61
62 //Use cache for channel_id to cell_id conversion
64
65 std::vector<Identifier> m_disconnectedCells; // list of disconnected cells
66 // the cells which appear in this list are:
67 // missing D4 in EBA15, EBC18
68 // 16 E3 cells in EBA (disconnected because of MBTS)
69 // 20 E3 cells in EBC (16 disconnected because of MBTS and 4 due to other reasons)
70
72};
73
74#endif
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()