ATLAS Offline Software
Loading...
Searching...
No Matches
MdtAsBuiltPar Class Reference

Container classifier the MDT as-built parameters See parameter description in http://atlas-muon-align.web.cern.ch/atlas-muon-align/endplug/asbuilt.pdf. More...

#include <MdtAsBuiltPar.h>

Inheritance diagram for MdtAsBuiltPar:
Collaboration diagram for MdtAsBuiltPar:

Classes

struct  AlignmentParameters

Public Types

enum class  multilayer_t { ML1 = 0 , ML2 , NMLTYPES }
 MDT multi-layer index. More...
enum class  tubeSide_t { POS = 0 , NEG , NTUBESIDETYPES }
 MDT tube side. More...

Public Member Functions

 MdtAsBuiltPar ()=default
virtual ~MdtAsBuiltPar () override=default
void setAlignmentParameters (multilayer_t iML, tubeSide_t iTubeSide, float y0, float z0, float alpha, float ypitch, float zpitch, int stagg)
 Set the alignment parameters for a ML and a tube side.
double y0 (multilayer_t iML, tubeSide_t iTubeSide) const
double z0 (multilayer_t iML, tubeSide_t iTubeSide) const
double alpha (multilayer_t iML, tubeSide_t iTubeSide) const
double ypitch (multilayer_t iML, tubeSide_t iTubeSide) const
double zpitch (multilayer_t iML, tubeSide_t iTubeSide) const
int stagg (multilayer_t iML, tubeSide_t iTubeSide) const
void setIdentifier (const Identifier &id)
 Setters and getters for the Athena Identifier.
const Identifieridentify () const
bool operator< (const MuonAlignmentPar &other) const
 Odering operater using the Identifier.
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)
int AmdbJob () const
 Seems to correspond to the multilayer but sometimes also stEta.
int AmdbEta () const
 station Eta
int AmdbPhi () const
 station phi
const std::string & AmdbStation () const
 station Name

Private Member Functions

AlignmentParametersmeas (multilayer_t iML, tubeSide_t iTubeSide)
const AlignmentParametersmeas (multilayer_t iML, tubeSide_t iTubeSide) const

Private Attributes

std::array< AlignmentParameters, NMEASm_meas {}
Identifier m_id {0}
std::string m_station {}
int m_eta {0}
int m_phi {0}
int m_job {0}

Static Private Attributes

static constexpr unsigned int NMEAS

Detailed Description

Container classifier the MDT as-built parameters See parameter description in http://atlas-muon-align.web.cern.ch/atlas-muon-align/endplug/asbuilt.pdf.

Definition at line 18 of file MdtAsBuiltPar.h.

Member Enumeration Documentation

◆ multilayer_t

enum class MdtAsBuiltPar::multilayer_t
strong

MDT multi-layer index.

Enumerator
ML1 
ML2 
NMLTYPES 

Definition at line 28 of file MdtAsBuiltPar.h.

28{ ML1 = 0, ML2, NMLTYPES };

◆ tubeSide_t

enum class MdtAsBuiltPar::tubeSide_t
strong

MDT tube side.

Enumerator
POS 
NEG 
NTUBESIDETYPES 

Definition at line 33 of file MdtAsBuiltPar.h.

33 {
34 POS = 0, // s>0 side
35 NEG, // s<0 side
36 NTUBESIDETYPES
37 };

Constructor & Destructor Documentation

◆ MdtAsBuiltPar()

MdtAsBuiltPar::MdtAsBuiltPar ( )
default

◆ ~MdtAsBuiltPar()

virtual MdtAsBuiltPar::~MdtAsBuiltPar ( )
overridevirtualdefault

Member Function Documentation

◆ alpha()

double MdtAsBuiltPar::alpha ( multilayer_t iML,
tubeSide_t iTubeSide ) const
inline

Definition at line 49 of file MdtAsBuiltPar.h.

49{ return meas(iML, iTubeSide).alpha; }
AlignmentParameters & meas(multilayer_t iML, tubeSide_t iTubeSide)

◆ 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()

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

station Name

Definition at line 22 of file MuonAlignmentPar.cxx.

22{return m_station;}
std::string m_station

◆ identify()

const Identifier & MuonAlignmentPar::identify ( ) const
inherited

Definition at line 11 of file MuonAlignmentPar.cxx.

11{return m_id; }

◆ meas() [1/2]

AlignmentParameters & MdtAsBuiltPar::meas ( multilayer_t iML,
tubeSide_t iTubeSide )
inlineprivate

Definition at line 70 of file MdtAsBuiltPar.h.

70 {
71 const unsigned int idx = static_cast<unsigned int>(tubeSide_t::NTUBESIDETYPES) *
72 static_cast<unsigned int>(iML) + static_cast<unsigned>(iTubeSide);
73 return m_meas.at(idx);
74 }
std::array< AlignmentParameters, NMEAS > m_meas

◆ meas() [2/2]

const AlignmentParameters & MdtAsBuiltPar::meas ( multilayer_t iML,
tubeSide_t iTubeSide ) const
inlineprivate

Definition at line 75 of file MdtAsBuiltPar.h.

75 {
76 const unsigned int idx = static_cast<unsigned int>(tubeSide_t::NTUBESIDETYPES) *
77 static_cast<unsigned int>(iML) + static_cast<unsigned>(iTubeSide);
78 return m_meas.at(idx);
79 }

◆ 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; }

◆ setAlignmentParameters()

void MdtAsBuiltPar::setAlignmentParameters ( multilayer_t iML,
tubeSide_t iTubeSide,
float y0,
float z0,
float alpha,
float ypitch,
float zpitch,
int stagg )

Set the alignment parameters for a ML and a tube side.

Definition at line 32 of file MdtAsBuiltPar.cxx.

33 {
34 AlignmentParameters& params = meas(iML, iTubeSide);
35 params.y0 = y0;
36 params.z0 = z0;
37 params.alpha = alpha;
38 params.ypitch = ypitch;
39 params.zpitch = zpitch;
40 params.stagg = stagg;
41}
int stagg(multilayer_t iML, tubeSide_t iTubeSide) const
double zpitch(multilayer_t iML, tubeSide_t iTubeSide) const
double ypitch(multilayer_t iML, tubeSide_t iTubeSide) const
double alpha(multilayer_t iML, tubeSide_t iTubeSide) const
double z0(multilayer_t iML, tubeSide_t iTubeSide) const
double y0(multilayer_t iML, tubeSide_t iTubeSide) const

◆ 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 {
15 m_eta = stEta;
16 m_phi = stPhi;
17 m_job = stJob;
18}
const std::string & stName(StIndex index)
convert StIndex into a string

◆ setIdentifier()

void MuonAlignmentPar::setIdentifier ( const Identifier & id)
inherited

Setters and getters for the Athena Identifier.

Definition at line 10 of file MuonAlignmentPar.cxx.

◆ stagg()

int MdtAsBuiltPar::stagg ( multilayer_t iML,
tubeSide_t iTubeSide ) const
inline

Definition at line 52 of file MdtAsBuiltPar.h.

52{ return meas(iML, iTubeSide).stagg; }

◆ y0()

double MdtAsBuiltPar::y0 ( multilayer_t iML,
tubeSide_t iTubeSide ) const
inline

Definition at line 47 of file MdtAsBuiltPar.h.

47{ return meas(iML, iTubeSide).y0; }

◆ ypitch()

double MdtAsBuiltPar::ypitch ( multilayer_t iML,
tubeSide_t iTubeSide ) const
inline

Definition at line 50 of file MdtAsBuiltPar.h.

50{ return meas(iML, iTubeSide).ypitch; }

◆ z0()

double MdtAsBuiltPar::z0 ( multilayer_t iML,
tubeSide_t iTubeSide ) const
inline

Definition at line 48 of file MdtAsBuiltPar.h.

48{ return meas(iML, iTubeSide).z0; }

◆ zpitch()

double MdtAsBuiltPar::zpitch ( multilayer_t iML,
tubeSide_t iTubeSide ) const
inline

Definition at line 51 of file MdtAsBuiltPar.h.

51{ return meas(iML, iTubeSide).zpitch; }

Member Data Documentation

◆ m_eta

int MuonAlignmentPar::m_eta {0}
privateinherited

Definition at line 40 of file MuonAlignmentPar.h.

40{0};

◆ m_id

Identifier MuonAlignmentPar::m_id {0}
privateinherited

Definition at line 38 of file MuonAlignmentPar.h.

38{0};

◆ m_job

int MuonAlignmentPar::m_job {0}
privateinherited

Definition at line 42 of file MuonAlignmentPar.h.

42{0};

◆ m_meas

std::array<AlignmentParameters, NMEAS> MdtAsBuiltPar::m_meas {}
private

Definition at line 68 of file MdtAsBuiltPar.h.

68{}; // in this order: ML1_HV, ML1_RO, ML2_HV, ML2_RO

◆ m_phi

int MuonAlignmentPar::m_phi {0}
privateinherited

Definition at line 41 of file MuonAlignmentPar.h.

41{0};

◆ m_station

std::string MuonAlignmentPar::m_station {}
privateinherited

Definition at line 39 of file MuonAlignmentPar.h.

39{};

◆ NMEAS

unsigned int MdtAsBuiltPar::NMEAS
staticconstexprprivate
Initial value:
= static_cast<unsigned int>(multilayer_t::NMLTYPES) *
static_cast<unsigned int>(tubeSide_t::NTUBESIDETYPES)

Definition at line 66 of file MdtAsBuiltPar.h.


The documentation for this class was generated from the following files: