ATLAS Offline Software
TRT_HWMappingSvc.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRT_HWMappingSvc_H
6 #define TRT_HWMappingSvc_H
7 
8 /*----------------------------------------------------------
9  * @file TRT_HWMappingSvc.h
10  * @Service to provide offline -> hardware mapping
11  * @author Denver Whittington <Denver.Whittington@cern.ch>
12  * updated March 2019 Peter Hansen <phansen@nbi.dk>
13  *///-------------------------------------------------------
14 
15 // Header Includes
18 #include "GaudiKernel/ServiceHandle.h"
19 #include "StoreGate/StoreGateSvc.h"
22 
23 
25 class TRT_ID;
26 class Identifier;
27 
29 class TRT_HWMappingSvc : public AthService, virtual public ITRT_HWMappingSvc {
30 
31  public:
32 
33  TRT_HWMappingSvc( const std::string&, ISvcLocator* );
34  virtual ~TRT_HWMappingSvc();
35 
36  virtual StatusCode initialize();
37  virtual StatusCode finalize();
38 
39  virtual StatusCode queryInterface( const InterfaceID&, void** );
40 
42  int get_HV_BarrelPadNum( const Identifier );
43 
45  int get_HV_EndcapCellNum( const Identifier );
46 
49 
51  int get_HV_EndcapFuseNum( const Identifier );
52 
54  std::string get_HV_CoolChanName( const Identifier );
55 
57  int get_HV_CoolChanNum( const Identifier );
58 
60  int hashThisBarrelPad( int, int, int );
61 
63  int hashThisEndcapCell( int, int, int, int );
64 
66  void DumpMaps();
67 
68  private:
69 
71 
76 
80 
81  SG::ReadCondHandleKey<TRTCond::HWMap> m_HWMapReadKey{this,"HWMapReadKey","HWMap","HV map in-key"};
82 
83 };
84 
86 inline StatusCode TRT_HWMappingSvc::queryInterface( const InterfaceID& riid, void** ppvIf )
87 {
88  if ( ITRT_HWMappingSvc::interfaceID() == riid ) {
89  *ppvIf = dynamic_cast<ITRT_HWMappingSvc*>(this);
90  addRef();
91  } else {
92  return AthService::queryInterface( riid, ppvIf );
93  }
94  return StatusCode::SUCCESS;
95 }
96 
97 #endif // TRT_HWMappingSvc_H
TRT_HWMappingSvc::queryInterface
virtual StatusCode queryInterface(const InterfaceID &, void **)
Query Interface.
Definition: TRT_HWMappingSvc.h:86
TRT_HWMappingSvc::finalize
virtual StatusCode finalize()
Finalize //.
Definition: TRT_HWMappingSvc.cxx:396
TRT_HWMappingSvc::DumpMaps
void DumpMaps()
Dump HV-line/pad maps.
Definition: TRT_HWMappingSvc.cxx:404
ITRT_HWMappingSvc::interfaceID
static const InterfaceID & interfaceID()
Interface ID declaration.
Definition: ITRT_HWMappingSvc.h:57
ITRT_HWMappingSvc
Definition: ITRT_HWMappingSvc.h:20
TRT_HWMappingSvc::m_Barrel_HV_COOLFolderName
std::string m_Barrel_HV_COOLFolderName
jobOptions properties
Definition: TRT_HWMappingSvc.h:73
TRT_HWMappingSvc::~TRT_HWMappingSvc
virtual ~TRT_HWMappingSvc()
Destructor //.
TRT_HWMappingSvc::hashThisEndcapCell
int hashThisEndcapCell(int, int, int, int)
Hashes an Endcap HV cell by sector/wheel/layer/cell#.
Definition: TRT_HWMappingSvc.cxx:355
TRT_HWMappingSvc::m_EndcapC_HV_COOLFolderName
std::string m_EndcapC_HV_COOLFolderName
Definition: TRT_HWMappingSvc.h:75
TRT_HWMappingSvc::get_HV_BarrelPadNum
int get_HV_BarrelPadNum(const Identifier)
Returns the HV pad for a barrel identifier.
Definition: TRT_HWMappingSvc.cxx:215
TRT_HWMappingSvc::get_HV_CoolChanNum
int get_HV_CoolChanNum(const Identifier)
Returns the COOL channel number for an identifier.
Definition: TRT_HWMappingSvc.cxx:149
TRT_HWMappingSvc::m_detStore
ServiceHandle< StoreGateSvc > m_detStore
Definition: TRT_HWMappingSvc.h:70
TRT_HWMappingSvc::hashThisBarrelPad
int hashThisBarrelPad(int, int, int)
Hashes a Barrel HV pad by sector/module/pad#.
Definition: TRT_HWMappingSvc.cxx:225
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthService
Definition: AthService.h:32
TRT_HWMappingSvc::m_EndcapA_HV_COOLFolderName
std::string m_EndcapA_HV_COOLFolderName
Definition: TRT_HWMappingSvc.h:74
TRT_HWMappingSvc
AlgTool providing offline -> hardware mapping information.
Definition: TRT_HWMappingSvc.h:29
ReadCondHandleKey.h
TRT_HWMappingSvc::TRT_HWMappingSvc
TRT_HWMappingSvc(const std::string &, ISvcLocator *)
Constructor //.
Definition: TRT_HWMappingSvc.cxx:29
TRT_HWMappingSvc::get_HV_EndcapCellNum
int get_HV_EndcapCellNum(const Identifier)
Returns the HV cell for an endcap identifier.
Definition: TRT_HWMappingSvc.cxx:261
SG::ReadCondHandleKey< TRTCond::HWMap >
TRT_HWMappingSvc::initialize
virtual StatusCode initialize()
Initialize //.
Definition: TRT_HWMappingSvc.cxx:52
TRT_HWMappingSvc::get_HV_Endcap4PlaneNum
int get_HV_Endcap4PlaneNum(const Identifier)
Returns the 4-plane wheel number for an endcap identifier.
Definition: TRT_HWMappingSvc.cxx:292
TRT_HWMappingSvc::m_TRTStrawNeighbourSvc
ServiceHandle< ITRT_StrawNeighbourSvc > m_TRTStrawNeighbourSvc
Definition: TRT_HWMappingSvc.h:79
TRT_ID
Definition: TRT_ID.h:84
ITRT_HWMappingSvc.h
HWMap.h
ITRT_StrawNeighbourSvc
Definition: ITRT_StrawNeighbourSvc.h:23
TRT_HWMappingSvc::get_HV_CoolChanName
std::string get_HV_CoolChanName(const Identifier)
Returns the HV line logical name in COOL channel format (":","/" -> "_")
Definition: TRT_HWMappingSvc.cxx:86
AthService.h
TRT_HWMappingSvc::m_HWMapReadKey
SG::ReadCondHandleKey< TRTCond::HWMap > m_HWMapReadKey
Definition: TRT_HWMappingSvc.h:81
TRT_HWMappingSvc::m_TRT_ID_Helper
const TRT_ID * m_TRT_ID_Helper
Straw Helpers.
Definition: TRT_HWMappingSvc.h:78
TRT_HWMappingSvc::get_HV_EndcapFuseNum
int get_HV_EndcapFuseNum(const Identifier)
Returns the fuse number (0-3) for an endcap identifier.
Definition: TRT_HWMappingSvc.cxx:325
StoreGateSvc.h
ServiceHandle< StoreGateSvc >