ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonCablings
MuonCablingData
MuonCablingData
TwinTubeMap.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3
*/
4
#ifndef MUONCABLINGDATA_TWINTUBEMAP_H
5
#define MUONCABLINGDATA_TWINTUBEMAP_H
6
7
#include <
AthenaBaseComps/AthMessaging.h
>
8
#include <
MuonIdHelpers/IMuonIdHelperSvc.h
>
9
#include <
MuonCablingData/HedgehogBoard.h
>
10
#include <unordered_map>
11
12
namespace
Muon
{
16
class
TwinTubeMap
:
public
AthMessaging
{
17
public
:
18
using
HedgehogBoardPtr
=
HedgehogBoard::HedgehogBoardPtr
;
19
20
TwinTubeMap
(
const
IMuonIdHelperSvc
* idHelperSvc);
23
bool
isTwinTubeLayer
(
const
Identifier
& channelId)
const
;
27
Identifier
twinId
(
const
Identifier
& channelId)
const
;
30
double
hvDelayTime
(
const
Identifier
& channelId)
const
;
32
void
setDefaultHVDelay
(
const
double
hvDelay);
37
StatusCode
addHedgeHogBoard
(
const
Identifier
& detElId,
const
HedgehogBoardPtr
& board,
const
uint16_t slot);
38
private
:
39
const
IMuonIdHelperSvc
*
m_idHelperSvc
{
nullptr
};
40
41
struct
HedgehogTray
{
42
uint8_t
nTubesPerLay
{0};
43
std::vector<HedgehogBoardPtr>
cards
{};
44
};
45
using
Storage
= std::unordered_map<IdentifierHash, HedgehogTray>;
46
Storage
m_twinTubesPerRE
{};
47
48
double
m_defaultHVDelay
{0.};
49
};
50
}
51
#include "
AthenaKernel/CondCont.h
"
52
CLASS_DEF
(
Muon::TwinTubeMap
, 205882636 , 1 );
53
CONDCONT_DEF
(
Muon::TwinTubeMap
, 123689198 );
54
55
#endif
AthMessaging.h
CondCont.h
Hold mappings of ranges to condition objects.
CONDCONT_DEF
#define CONDCONT_DEF(...)
Definition
CondCont.h:1413
CLASS_DEF
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Definition
Control/AthenaKernel/AthenaKernel/CLASS_DEF.h:67
HedgehogBoard.h
IMuonIdHelperSvc.h
AthMessaging::AthMessaging
AthMessaging(IMessageSvc *msgSvc, const std::string &name)
Constructor.
Definition
AthMessaging.cxx:13
Muon::HedgehogBoard::HedgehogBoardPtr
std::shared_ptr< const HedgehogBoard > HedgehogBoardPtr
Definition
HedgehogBoard.h:34
Muon::IMuonIdHelperSvc
Interface for Helper service that creates muon Identifiers and can be used to print Identifiers.
Definition
IMuonIdHelperSvc.h:27
Muon::TwinTubeMap
Definition
TwinTubeMap.h:16
Muon::TwinTubeMap::m_idHelperSvc
const IMuonIdHelperSvc * m_idHelperSvc
Definition
TwinTubeMap.h:39
Muon::TwinTubeMap::hvDelayTime
double hvDelayTime(const Identifier &channelId) const
Returns the HV time delay for a given twin tube pair.
Definition
TwinTubeMap.cxx:88
Muon::TwinTubeMap::isTwinTubeLayer
bool isTwinTubeLayer(const Identifier &channelId) const
Returns whether the multilayer is equipped with twin-tubes or not.
Definition
TwinTubeMap.cxx:12
Muon::TwinTubeMap::twinId
Identifier twinId(const Identifier &channelId) const
Returns the Identifier of the mapped twin tube.
Definition
TwinTubeMap.cxx:19
Muon::TwinTubeMap::Storage
std::unordered_map< IdentifierHash, HedgehogTray > Storage
Definition
TwinTubeMap.h:45
Muon::TwinTubeMap::addHedgeHogBoard
StatusCode addHedgeHogBoard(const Identifier &detElId, const HedgehogBoardPtr &board, const uint16_t slot)
Add a new hedgehog board with twin tube mapping.
Definition
TwinTubeMap.cxx:44
Muon::TwinTubeMap::HedgehogBoardPtr
HedgehogBoard::HedgehogBoardPtr HedgehogBoardPtr
Definition
TwinTubeMap.h:18
Muon::TwinTubeMap::m_defaultHVDelay
double m_defaultHVDelay
Definition
TwinTubeMap.h:48
Muon::TwinTubeMap::m_twinTubesPerRE
Storage m_twinTubesPerRE
Definition
TwinTubeMap.h:46
Muon::TwinTubeMap::setDefaultHVDelay
void setDefaultHVDelay(const double hvDelay)
Sets the default HV delay.
Definition
TwinTubeMap.cxx:104
Muon::TwinTubeMap::TwinTubeMap
TwinTubeMap(const IMuonIdHelperSvc *idHelperSvc)
Definition
TwinTubeMap.cxx:8
Identifier
Definition
IdentifierFieldParser.cxx:14
Muon
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
Definition
TrackSystemController.h:46
Muon::TwinTubeMap::HedgehogTray
Definition
TwinTubeMap.h:41
Muon::TwinTubeMap::HedgehogTray::cards
std::vector< HedgehogBoardPtr > cards
Definition
TwinTubeMap.h:43
Muon::TwinTubeMap::HedgehogTray::nTubesPerLay
uint8_t nTubesPerLay
Definition
TwinTubeMap.h:42
Generated on
for ATLAS Offline Software by
1.17.0