ATLAS Offline Software
Loading...
Searching...
No Matches
MuonSpectrometer
MuonAlignment
MuonAlignmentData
MuonAlignmentData
BLinePar.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 MUONALIGNMENTDATA_BLINEPAR_H
6
#define MUONALIGNMENTDATA_BLINEPAR_H
7
8
#include "
MuonAlignmentData/MuonAlignmentPar.h
"
9
#include <array>
10
#include <limits>
11
#include <iostream>
12
#include <algorithm>
13
14
class
BLinePar
:
public
MuonAlignmentPar
{
15
public
:
16
// Default constructor
17
BLinePar
() =
default
;
18
// destructor
19
virtual
~BLinePar
()
override
=
default
;
20
21
enum class
Parameter
{
22
bz
=0,
// tube bow in plane,
23
bp
,
// tube bow out of plane,
24
bn
,
// tube bow out of plane
25
sp
,
// cross plate sag out of plane
26
sn
,
// cross plate sag out of plane
27
tw
,
// twist
28
pg
,
// parallelogram
29
tr
,
// trapezoid
30
eg
,
// global expansion
31
ep
,
// local expansion
32
en
,
// local expansion
33
numPars
34
};
35
static
constexpr
double
expansionScale
= 1.e-3;
37
void
setParameters
(
float
bz
,
float
bp
,
float
bn
,
float
sp
,
float
sn
,
float
tw
,
float
pg
,
float
tr
,
float
eg
,
float
ep
,
float
en
);
38
40
float
getParameter
(
const
Parameter
p)
const
{
41
return
m_payload
[
static_cast<
unsigned
int
>
(p)];
42
}
43
44
operator
bool ()
const
{
45
return
std::find_if(
m_payload
.begin(),
46
m_payload
.end(),[](
const
float
par){
47
return std::abs(par) > std::numeric_limits<float>::epsilon();
48
}) !=
m_payload
.end();
49
}
50
51
private
:
52
std::array<float, static_cast<unsigned int>(
Parameter::numPars
)>
m_payload
{};
53
};
54
55
std::ostream&
operator<<
(std::ostream& ostr,
const
BLinePar
& par);
56
57
58
#endif
// MUONALIGNMENTDATA_BLINEPAR_H
operator<<
std::ostream & operator<<(std::ostream &ostr, const BLinePar &par)
Definition
BLinePar.cxx:6
MuonAlignmentPar.h
BLinePar
Definition
BLinePar.h:14
BLinePar::getParameter
float getParameter(const Parameter p) const
Returns a given parameter.
Definition
BLinePar.h:40
BLinePar::~BLinePar
virtual ~BLinePar() override=default
BLinePar::m_payload
std::array< float, static_cast< unsigned int >(Parameter::numPars)> m_payload
Definition
BLinePar.h:52
BLinePar::setParameters
void setParameters(float bz, float bp, float bn, float sp, float sn, float tw, float pg, float tr, float eg, float ep, float en)
Cast the parameter to an unsigned int.
Definition
BLinePar.cxx:26
BLinePar::Parameter
Parameter
Definition
BLinePar.h:21
BLinePar::Parameter::sp
@ sp
Definition
BLinePar.h:25
BLinePar::Parameter::pg
@ pg
Definition
BLinePar.h:28
BLinePar::Parameter::tw
@ tw
Definition
BLinePar.h:27
BLinePar::Parameter::eg
@ eg
Definition
BLinePar.h:30
BLinePar::Parameter::bn
@ bn
Definition
BLinePar.h:24
BLinePar::Parameter::bp
@ bp
Definition
BLinePar.h:23
BLinePar::Parameter::numPars
@ numPars
Definition
BLinePar.h:33
BLinePar::Parameter::ep
@ ep
Definition
BLinePar.h:31
BLinePar::Parameter::en
@ en
Definition
BLinePar.h:32
BLinePar::Parameter::sn
@ sn
Definition
BLinePar.h:26
BLinePar::Parameter::bz
@ bz
Definition
BLinePar.h:22
BLinePar::Parameter::tr
@ tr
Definition
BLinePar.h:29
BLinePar::BLinePar
BLinePar()=default
BLinePar::expansionScale
static constexpr double expansionScale
Definition
BLinePar.h:35
MuonAlignmentPar::MuonAlignmentPar
MuonAlignmentPar()=default
Generated on
for ATLAS Offline Software by
1.14.0