ATLAS Offline Software
Loading...
Searching...
No Matches
ALinePar.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_ALINEPAR_H
6#define MUONALIGNMENTDATA_ALINEPAR_H
7
8#include "CLHEP/Geometry/Transform3D.h"
11#include <array>
12#include <climits>
13#include <iostream>
14
15class ALinePar : public MuonAlignmentPar {
16public:
17 // Default constructor
18 ALinePar() = default;
19 // destructor
20 virtual ~ALinePar() override = default;
21
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)) +
46 rotWeight * (std::abs(getParameter(Parameter::rotS)) +
47 std::abs(getParameter(Parameter::rotZ)) +
49 > validityCutOff;
50 }
51private:
52 std::array<float, static_cast<unsigned int>(Parameter::numPars)> m_payload{};
53
54};
55
56std::ostream& operator<<(std::ostream&, const ALinePar& par);
57
58
59#endif // MUONALIGNMENTDATA_ALINEPAR_H
std::ostream & operator<<(std::ostream &, const ALinePar &par)
Definition ALinePar.cxx:9
#define z
Amg::Transform3D delta() const
Returns the final transformations of the A lines.
Definition ALinePar.cxx:35
void setParameters(float s, float z, float t, float rotS, float rotZ, float rotT)
Definition ALinePar.cxx:26
std::array< float, static_cast< unsigned int >(Parameter::numPars)> m_payload
Definition ALinePar.h:52
virtual ~ALinePar() override=default
ALinePar()=default
Parameter
amdb frame (s, z, t) = chamber frame (y, z, x)
Definition ALinePar.h:23
@ numPars
Rotation around the t-axis.
Definition ALinePar.h:30
@ rotZ
Rotation around the s-axis.
Definition ALinePar.h:28
@ transT
Translation along the z-axis.
Definition ALinePar.h:26
@ rotS
Translation along the t-axis.
Definition ALinePar.h:27
@ rotT
Rotation around the z-axis.
Definition ALinePar.h:29
@ transZ
Translation along the s-axis.
Definition ALinePar.h:25
float getParameter(const Parameter &p) const
Definition ALinePar.h:34
MuonAlignmentPar()=default
Eigen::Affine3d Transform3D