ATLAS Offline Software
ALinePar.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 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  }
39  Amg::Transform3D delta () const;
40 
42  operator bool () const {
43  constexpr float validityCutOff = 1.e-5;
44  constexpr float rotWeight =1.e3;
45  return std::abs(getParameter(Parameter::transS)) + std::abs(getParameter(Parameter::transZ)) +
46  std::abs(getParameter(Parameter::transT)) +
47  rotWeight * (std::abs(getParameter(Parameter::rotS)) +
48  std::abs(getParameter(Parameter::rotZ)) +
49  std::abs(getParameter(Parameter::rotT)))
50  > validityCutOff;
51  }
52 private:
53  std::array<float, static_cast<unsigned int>(Parameter::numPars)> m_payload{};
54 
55 };
56 
57 std::ostream& operator<<(std::ostream&, const ALinePar& par);
58 
59 
60 #endif // MUONALIGNMENTDATA_ALINEPAR_H
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
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:53
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
Definition: ALinePar.cxx:45
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.
ALinePar::deltaTransform
HepGeom::Transform3D deltaTransform() const
Returns the final transformations of the A lines.
Definition: ALinePar.cxx:35
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