ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonAlignment
MuonAlignmentData
MuonAlignmentData
ALinePar.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 MUONALIGNMENTDATA_ALINEPAR_H
6
#define MUONALIGNMENTDATA_ALINEPAR_H
7
8
#include "CLHEP/Geometry/Transform3D.h"
9
#include "
GeoPrimitives/GeoPrimitives.h
"
10
#include "
MuonAlignmentData/MuonAlignmentPar.h
"
11
#include <array>
12
#include <climits>
13
#include <iosfwd>
14
15
class
ALinePar
:
public
MuonAlignmentPar
{
16
public
:
17
// Default constructor
18
ALinePar
() =
default
;
19
// destructor
20
virtual
~ALinePar
()
override
=
default
;
21
23
enum class
Parameter
{
24
transS
= 0,
25
transZ
,
26
transT
,
27
rotS
,
28
rotZ
,
29
rotT
,
30
numPars
31
};
32
33
void
setParameters
(
float
s,
float
z
,
float
t,
float
rotS
,
float
rotZ
,
float
rotT
);
34
float
getParameter
(
const
Parameter
& p)
const
{
35
return
m_payload
[
static_cast<
unsigned
int
>
(p)];
36
}
37
38
Amg::Transform3D
delta
()
const
;
39
41
operator
bool ()
const
{
42
constexpr
float
validityCutOff = 1.e-5;
43
constexpr
float
rotWeight =1.e3;
44
return
std::abs(
getParameter
(
Parameter::transS
)) + std::abs(
getParameter
(
Parameter::transZ
)) +
45
std::abs(
getParameter
(
Parameter::transT
)) +
46
rotWeight * (std::abs(
getParameter
(
Parameter::rotS
)) +
47
std::abs(
getParameter
(
Parameter::rotZ
)) +
48
std::abs(
getParameter
(
Parameter::rotT
)))
49
> validityCutOff;
50
}
51
private
:
52
std::array<float, static_cast<unsigned int>(
Parameter::numPars
)>
m_payload
{};
53
54
};
55
56
std::ostream&
operator<<
(std::ostream&,
const
ALinePar
& par);
57
58
59
#endif
// MUONALIGNMENTDATA_ALINEPAR_H
operator<<
std::ostream & operator<<(std::ostream &, const ALinePar &par)
Definition
ALinePar.cxx:10
GeoPrimitives.h
MuonAlignmentPar.h
z
#define z
ALinePar
Definition
ALinePar.h:15
ALinePar::delta
Amg::Transform3D delta() const
Returns the final transformations of the A lines.
Definition
ALinePar.cxx:36
ALinePar::setParameters
void setParameters(float s, float z, float t, float rotS, float rotZ, float rotT)
Definition
ALinePar.cxx:27
ALinePar::m_payload
std::array< float, static_cast< unsigned int >(Parameter::numPars)> m_payload
Definition
ALinePar.h:52
ALinePar::~ALinePar
virtual ~ALinePar() override=default
ALinePar::ALinePar
ALinePar()=default
ALinePar::Parameter
Parameter
amdb frame (s, z, t) = chamber frame (y, z, x)
Definition
ALinePar.h:23
ALinePar::Parameter::numPars
@ numPars
Rotation around the t-axis.
Definition
ALinePar.h:30
ALinePar::Parameter::transS
@ transS
Definition
ALinePar.h:24
ALinePar::Parameter::rotZ
@ rotZ
Rotation around the s-axis.
Definition
ALinePar.h:28
ALinePar::Parameter::transT
@ transT
Translation along the z-axis.
Definition
ALinePar.h:26
ALinePar::Parameter::rotS
@ rotS
Translation along the t-axis.
Definition
ALinePar.h:27
ALinePar::Parameter::rotT
@ rotT
Rotation around the z-axis.
Definition
ALinePar.h:29
ALinePar::Parameter::transZ
@ transZ
Translation along the s-axis.
Definition
ALinePar.h:25
ALinePar::getParameter
float getParameter(const Parameter &p) const
Definition
ALinePar.h:34
MuonAlignmentPar::MuonAlignmentPar
MuonAlignmentPar()=default
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition
GeoPrimitives.h:46
Generated on
for ATLAS Offline Software by
1.17.0