Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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 
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  }
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
ALinePar
Definition: ALinePar.h:15
ALinePar::Parameter::rotT
@ rotT
Rotation around the z-axis.
ALinePar::ALinePar
ALinePar()=default
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
ALinePar::Parameter::transS
@ transS
GeoPrimitives.h
ALinePar::m_payload
std::array< float, static_cast< unsigned int >Parameter::numPars)> m_payload
Definition: ALinePar.h:52
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
ALinePar::setParameters
void setParameters(float s, float z, float t, float rotS, float rotZ, float rotT)
Definition: ALinePar.cxx:26
z
#define z
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
ALinePar::getParameter
float getParameter(const Parameter &p) const
Definition: ALinePar.h:34
MuonAlignmentPar.h
ALinePar::delta
Amg::Transform3D delta() const
Returns the final transformations of the A lines.
Definition: ALinePar.cxx:35
ALinePar::Parameter::transT
@ transT
Translation along the z-axis.
ALinePar::Parameter::rotZ
@ rotZ
Rotation around the s-axis.
MuonAlignmentPar
Basic class to map the MuonAlignment parameters to the different subdetectors inside the muon system.
Definition: MuonAlignmentPar.h:15
createCoolChannelIdFile.par
par
Definition: createCoolChannelIdFile.py:29
ALinePar::Parameter::transZ
@ transZ
Translation along the s-axis.
ALinePar::Parameter::numPars
@ numPars
Rotation around the t-axis.
python.SystemOfUnits.s
float s
Definition: SystemOfUnits.py:146
ALinePar::Parameter::rotS
@ rotS
Translation along the t-axis.
ALinePar::~ALinePar
virtual ~ALinePar() override=default
xAOD::bool
setBGCode setTAP setLVL2ErrorBits bool
Definition: TrigDecision_v1.cxx:60
operator<<
std::ostream & operator<<(std::ostream &, const ALinePar &par)
Definition: ALinePar.cxx:9
ALinePar::Parameter
Parameter
amdb frame (s, z, t) = chamber frame (y, z, x)
Definition: ALinePar.h:23