ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonCalib
MdtCalib
MdtCalibData
MdtCalibData
MdtTubeCalibContainer.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef MUONCALIB_MDTTUBECALIBCONTAINER_H
6
#define MUONCALIB_MDTTUBECALIBCONTAINER_H
7
8
9
#include "
GeoModelUtilities/TransientConstSharedPtr.h
"
10
#include "
MuonIdHelpers/IMuonIdHelperSvc.h
"
//used in header
11
#include "
MuonIdHelpers/MdtIdHelper.h
"
//used in header
12
#include <string>
13
#include <vector>
14
#include <cstdint>
//uint8_t
15
#include "Identifier/Identifier.h"
16
17
18
19
namespace
MuonCalib
{
20
22
class
MdtTubeCalibContainer
{
23
public
:
24
struct
SingleTubeCalib
{
26
float
t0
{0.f};
28
float
adcCal
{0.f};
30
uint8_t
statusCode
{1};
31
SingleTubeCalib
() =
default
;
32
};
33
using
SingleTubeCalibPtr
=
GeoModel::TransientConstSharedPtr<SingleTubeCalib>
;
34
36
MdtTubeCalibContainer
(
const
Muon::IMuonIdHelperSvc
*
idHelperSvc
,
37
const
Identifier
& moduleID);
38
40
const
SingleTubeCalib
*
getCalib
(
const
Identifier
& tubeId)
const
{
41
unsigned
int
idx =
vectorIndex
(tubeId);
42
if
(idx >=
m_data
.size())
return
nullptr
;
43
return
&
m_data
[idx];
44
};
45
47
bool
setCalib
(
SingleTubeCalib
val,
const
Identifier
& tubeId, MsgStream&
msg
);
48
50
const
Identifier
&
identify
()
const
{
return
m_moduleID
; }
51
unsigned
int
size
()
const
{
return
m_data
.size(); }
52
unsigned
int
numMultilayers
()
const
{
return
m_nMl
; }
53
unsigned
int
numLayers
()
const
{
return
m_nLayers
; }
54
unsigned
int
numTubes
()
const
{
return
m_nTubes
; }
55
56
const
Muon::IMuonIdHelperSvc
*
idHelperSvc
()
const
;
57
58
protected
:
59
const
Identifier
m_moduleID
{};
60
const
Muon::IMuonIdHelperSvc
*
m_idHelperSvc
{
nullptr
};
61
const
MdtIdHelper
&
m_idHelper
{
m_idHelperSvc
->mdtIdHelper()};
62
64
unsigned
int
vectorIndex
(
const
Identifier
& measID)
const
{
65
return
(
m_idHelper
.multilayer(measID) - 1) * (
m_nLayers
*
m_nTubes
) +
66
(
m_idHelper
.tubeLayer(measID) - 1) *
m_nTubes
+
67
(
m_idHelper
.tube(measID) -1);
68
}
69
uint8_t
m_nMl
{0};
70
uint8_t
m_nLayers
{0};
71
uint8_t
m_nTubes
{0};
72
std::vector<SingleTubeCalib>
m_data
{};
73
};
74
75
}
// namespace MuonCalib
76
77
#endif
IMuonIdHelperSvc.h
SingleTubeCalib
MuonCalib::MdtTubeCalibContainer::SingleTubeCalib SingleTubeCalib
Definition
MdtCalibrationTool.cxx:26
MdtIdHelper.h
TransientConstSharedPtr.h
GeoModel::TransientConstSharedPtr
The TransientConstSharedPtr allows non-const access if the pointer itself is non-const but in the con...
Definition
TransientConstSharedPtr.h:13
MdtIdHelper
Definition
MdtIdHelper.h:61
MuonCalib::MdtTubeCalibContainer::m_data
std::vector< SingleTubeCalib > m_data
Definition
MdtTubeCalibContainer.h:72
MuonCalib::MdtTubeCalibContainer::numLayers
unsigned int numLayers() const
Definition
MdtTubeCalibContainer.h:53
MuonCalib::MdtTubeCalibContainer::getCalib
const SingleTubeCalib * getCalib(const Identifier &tubeId) const
return calibration constants of a single tube
Definition
MdtTubeCalibContainer.h:40
MuonCalib::MdtTubeCalibContainer::identify
const Identifier & identify() const
return container name and dimensions
Definition
MdtTubeCalibContainer.h:50
MuonCalib::MdtTubeCalibContainer::m_idHelper
const MdtIdHelper & m_idHelper
Definition
MdtTubeCalibContainer.h:61
MuonCalib::MdtTubeCalibContainer::m_nTubes
uint8_t m_nTubes
number of tubes
Definition
MdtTubeCalibContainer.h:71
MuonCalib::MdtTubeCalibContainer::SingleTubeCalibPtr
GeoModel::TransientConstSharedPtr< SingleTubeCalib > SingleTubeCalibPtr
Definition
MdtTubeCalibContainer.h:33
MuonCalib::MdtTubeCalibContainer::numMultilayers
unsigned int numMultilayers() const
Definition
MdtTubeCalibContainer.h:52
MuonCalib::MdtTubeCalibContainer::setCalib
bool setCalib(SingleTubeCalib val, const Identifier &tubeId, MsgStream &msg)
set the calibration constants of a single tube
Definition
MdtTubeCalibContainer.cxx:25
MuonCalib::MdtTubeCalibContainer::m_moduleID
const Identifier m_moduleID
Definition
MdtTubeCalibContainer.h:59
MuonCalib::MdtTubeCalibContainer::m_nLayers
uint8_t m_nLayers
number of layer
Definition
MdtTubeCalibContainer.h:70
MuonCalib::MdtTubeCalibContainer::MdtTubeCalibContainer
MdtTubeCalibContainer(const Muon::IMuonIdHelperSvc *idHelperSvc, const Identifier &moduleID)
nMl = number of multilayres, nLayers = number of layers in multilayer (3 or 4); nTubes = number of tu...
Definition
MdtTubeCalibContainer.cxx:9
MuonCalib::MdtTubeCalibContainer::m_nMl
uint8_t m_nMl
number of multilayers in chamber
Definition
MdtTubeCalibContainer.h:69
MuonCalib::MdtTubeCalibContainer::idHelperSvc
const Muon::IMuonIdHelperSvc * idHelperSvc() const
Definition
MdtTubeCalibContainer.cxx:45
MuonCalib::MdtTubeCalibContainer::size
unsigned int size() const
Definition
MdtTubeCalibContainer.h:51
MuonCalib::MdtTubeCalibContainer::m_idHelperSvc
const Muon::IMuonIdHelperSvc * m_idHelperSvc
Definition
MdtTubeCalibContainer.h:60
MuonCalib::MdtTubeCalibContainer::numTubes
unsigned int numTubes() const
Definition
MdtTubeCalibContainer.h:54
MuonCalib::MdtTubeCalibContainer::vectorIndex
unsigned int vectorIndex(const Identifier &measID) const
calculate postion of tube in vector
Definition
MdtTubeCalibContainer.h:64
Muon::IMuonIdHelperSvc
Interface for Helper service that creates muon Identifiers and can be used to print Identifiers.
Definition
IMuonIdHelperSvc.h:27
Identifier
Definition
IdentifierFieldParser.cxx:14
MuonCalib
CscCalcPed - algorithm that finds the Cathode Strip Chamber pedestals from an RDO.
Definition
CscCalcPed.cxx:21
MuonCalib::MdtTubeCalibContainer::SingleTubeCalib
Definition
MdtTubeCalibContainer.h:24
MuonCalib::MdtTubeCalibContainer::SingleTubeCalib::statusCode
uint8_t statusCode
Definition
MdtTubeCalibContainer.h:30
MuonCalib::MdtTubeCalibContainer::SingleTubeCalib::adcCal
float adcCal
quality flag for the SingleTubeCalib constants: 0 all ok, 1 no hits found, 2 too few hits,...
Definition
MdtTubeCalibContainer.h:28
MuonCalib::MdtTubeCalibContainer::SingleTubeCalib::t0
float t0
< relative t0 in chamber (ns)
Definition
MdtTubeCalibContainer.h:26
MuonCalib::MdtTubeCalibContainer::SingleTubeCalib::SingleTubeCalib
SingleTubeCalib()=default
msg
MsgStream & msg
Definition
testRead.cxx:32
Generated on
for ATLAS Offline Software by
1.17.0