ATLAS Offline Software
Public Types | Public Member Functions | Private Attributes | List of all members
ALinePar Class Reference

#include <ALinePar.h>

Inheritance diagram for ALinePar:
Collaboration diagram for ALinePar:

Public Types

enum  Parameter {
  Parameter::transS = 0, Parameter::transZ, Parameter::transT, Parameter::rotS,
  Parameter::rotZ, Parameter::rotT, Parameter::numPars
}
 amdb frame (s, z, t) = chamber frame (y, z, x) More...
 

Public Member Functions

 ALinePar ()=default
 
virtual ~ALinePar () override=default
 
void setParameters (float s, float z, float t, float rotS, float rotZ, float rotT)
 
float getParameter (const Parameter &p) const
 
HepGeom::Transform3D deltaTransform () const
 Returns the final transformations of the A lines. More...
 
Amg::Transform3D delta () const
 
 operator bool () const
 Returns true if at least one of the payload parameters is set. More...
 
void setIdentifier (const Identifier &id)
 Setters and getters for the Athena Identifier. More...
 
const Identifieridentify () const
 
bool operator< (const MuonAlignmentPar &other) const
 Odering operater using the Identifier. More...
 
void setAmdbId (const std::string &stName, int stEta, int stPhi, int stJob)
 AMDB identifiers. They're often not the same as the ATLAS ones (TGCs) More...
 
int AmdbJob () const
 Seems to correspond to the multilayer but sometimes also stEta. More...
 
int AmdbEta () const
 station Eta More...
 
int AmdbPhi () const
 station phi More...
 
std::string AmdbStation () const
 station Name More...
 

Private Attributes

std::array< float, static_cast< unsigned int >Parameter::numPars)> m_payload {}
 
Identifier m_id {0}
 
std::string m_station {}
 
int m_eta {0}
 
int m_phi {0}
 
int m_job {0}
 

Detailed Description

Definition at line 15 of file ALinePar.h.

Member Enumeration Documentation

◆ Parameter

enum ALinePar::Parameter
strong

amdb frame (s, z, t) = chamber frame (y, z, x)

Enumerator
transS 
transZ 

Translation along the s-axis.

transT 

Translation along the z-axis.

rotS 

Translation along the t-axis.

rotZ 

Rotation around the s-axis.

rotT 

Rotation around the z-axis.

numPars 

Rotation around the t-axis.

Definition at line 23 of file ALinePar.h.

23  {
24  transS = 0,
25  transZ,
26  transT,
27  rotS,
28  rotZ,
29  rotT,
30  numPars
31  };

Constructor & Destructor Documentation

◆ ALinePar()

ALinePar::ALinePar ( )
default

◆ ~ALinePar()

virtual ALinePar::~ALinePar ( )
overridevirtualdefault

Member Function Documentation

◆ AmdbEta()

int MuonAlignmentPar::AmdbEta ( ) const
inherited

station Eta

Definition at line 20 of file MuonAlignmentPar.cxx.

20 { return m_eta; }

◆ AmdbJob()

int MuonAlignmentPar::AmdbJob ( ) const
inherited

Seems to correspond to the multilayer but sometimes also stEta.

Definition at line 19 of file MuonAlignmentPar.cxx.

19 { return m_job; }

◆ AmdbPhi()

int MuonAlignmentPar::AmdbPhi ( ) const
inherited

station phi

Definition at line 21 of file MuonAlignmentPar.cxx.

21 { return m_phi;}

◆ AmdbStation()

std::string MuonAlignmentPar::AmdbStation ( ) const
inherited

station Name

Definition at line 22 of file MuonAlignmentPar.cxx.

22 {return m_station;}

◆ delta()

Amg::Transform3D ALinePar::delta ( ) const

◆ deltaTransform()

HepGeom::Transform3D ALinePar::deltaTransform ( ) const

Returns the final transformations of the A lines.

Definition at line 35 of file ALinePar.cxx.

35  { // does NOT account for AMDB origin being different from volume centre;
36  // for that you would need access to full station Position info...
37  // see MuonGeoModel/Station::getDeltaTransform() for details.
38  return HepGeom::TranslateY3D(getParameter(Parameter::transS)) *
39  HepGeom::TranslateZ3D(getParameter(Parameter::transZ)) *
40  HepGeom::TranslateX3D(getParameter(Parameter::transT)) *
41  HepGeom::RotateY3D(getParameter(Parameter::rotS)) *
42  HepGeom::RotateZ3D(getParameter(Parameter::rotZ)) *
43  HepGeom::RotateX3D(getParameter(Parameter::rotT));
44 }

◆ getParameter()

float ALinePar::getParameter ( const Parameter p) const
inline

Definition at line 34 of file ALinePar.h.

34  {
35  return m_payload[static_cast<unsigned int>(p)];
36  }

◆ identify()

const Identifier & MuonAlignmentPar::identify ( ) const
inherited

Definition at line 11 of file MuonAlignmentPar.cxx.

11 {return m_id; }

◆ operator bool()

ALinePar::operator bool ( ) const
inline

Returns true if at least one of the payload parameters is set.

Definition at line 42 of file ALinePar.h.

42  {
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  }

◆ operator<()

bool MuonAlignmentPar::operator< ( const MuonAlignmentPar other) const
inherited

Odering operater using the Identifier.

Definition at line 12 of file MuonAlignmentPar.cxx.

12 { return m_id < other.m_id; }

◆ setAmdbId()

void MuonAlignmentPar::setAmdbId ( const std::string &  stName,
int  stEta,
int  stPhi,
int  stJob 
)
inherited

AMDB identifiers. They're often not the same as the ATLAS ones (TGCs)

Definition at line 13 of file MuonAlignmentPar.cxx.

13  {
14  m_station = stName;
15  m_eta = stEta;
16  m_phi = stPhi;
17  m_job = stJob;
18 }

◆ setIdentifier()

void MuonAlignmentPar::setIdentifier ( const Identifier id)
inherited

Setters and getters for the Athena Identifier.

Definition at line 10 of file MuonAlignmentPar.cxx.

10 { m_id = id; }

◆ setParameters()

void ALinePar::setParameters ( float  s,
float  z,
float  t,
float  rotS,
float  rotZ,
float  rotT 
)

Definition at line 26 of file ALinePar.cxx.

26  {
27  m_payload[static_cast<unsigned int>(Parameter::transS)] = s;
28  m_payload[static_cast<unsigned int>(Parameter::transZ)] = z;
29  m_payload[static_cast<unsigned int>(Parameter::transT)] = t;
30  m_payload[static_cast<unsigned int>(Parameter::rotS) ] = rotS;
31  m_payload[static_cast<unsigned int>(Parameter::rotZ) ] = rotZ;
32  m_payload[static_cast<unsigned int>(Parameter::rotT) ] = rotT;
33 }

Member Data Documentation

◆ m_eta

int MuonAlignmentPar::m_eta {0}
privateinherited

Definition at line 40 of file MuonAlignmentPar.h.

◆ m_id

Identifier MuonAlignmentPar::m_id {0}
privateinherited

Definition at line 38 of file MuonAlignmentPar.h.

◆ m_job

int MuonAlignmentPar::m_job {0}
privateinherited

Definition at line 42 of file MuonAlignmentPar.h.

◆ m_payload

std::array<float, static_cast<unsigned int>Parameter::numPars)> ALinePar::m_payload {}
private

Definition at line 53 of file ALinePar.h.

◆ m_phi

int MuonAlignmentPar::m_phi {0}
privateinherited

Definition at line 41 of file MuonAlignmentPar.h.

◆ m_station

std::string MuonAlignmentPar::m_station {}
privateinherited

Definition at line 39 of file MuonAlignmentPar.h.


The documentation for this class was generated from the following files:
MuonAlignmentPar::m_eta
int m_eta
Definition: MuonAlignmentPar.h:40
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
ALinePar::Parameter::rotT
@ rotT
Rotation around the z-axis.
MuonAlignmentPar::m_job
int m_job
Definition: MuonAlignmentPar.h:42
MuonAlignmentPar::m_phi
int m_phi
Definition: MuonAlignmentPar.h:41
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
ALinePar::Parameter::transS
@ transS
Amg::getRotateZ3D
Amg::Transform3D getRotateZ3D(double angle)
get a rotation transformation around Z-axis
Definition: GeoPrimitivesHelpers.h:270
ALinePar::m_payload
std::array< float, static_cast< unsigned int >Parameter::numPars)> m_payload
Definition: ALinePar.h:53
Amg::getRotateX3D
Amg::Transform3D getRotateX3D(double angle)
get a rotation transformation around X-axis
Definition: GeoPrimitivesHelpers.h:252
z
#define z
ALinePar::getParameter
float getParameter(const Parameter &p) const
Definition: ALinePar.h:34
ALinePar::Parameter::transT
@ transT
Translation along the z-axis.
ALinePar::Parameter::rotZ
@ rotZ
Rotation around the s-axis.
MuonAlignmentPar::m_station
std::string m_station
Definition: MuonAlignmentPar.h:39
id
SG::auxid_t id
Definition: Control/AthContainers/Root/debug.cxx:194
Amg::getRotateY3D
Amg::Transform3D getRotateY3D(double angle)
get a rotation transformation around Y-axis
Definition: GeoPrimitivesHelpers.h:261
ALinePar::Parameter::transZ
@ transZ
Translation along the s-axis.
InDetDD::other
@ other
Definition: InDetDD_Defs.h:16
Amg::Translation3D
Eigen::Translation< double, 3 > Translation3D
Definition: GeoPrimitives.h:44
MuonAlignmentPar::m_id
Identifier m_id
Definition: MuonAlignmentPar.h:38
ALinePar::Parameter::rotS
@ rotS
Translation along the t-axis.