ATLAS Offline Software
AlignPar.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRKALIGNEVENT_ALIGNPAR_H
6 #define TRKALIGNEVENT_ALIGNPAR_H
7 
21 #include "GaudiKernel/MsgStream.h"
22 
23 namespace Trk {
24 
25  class AlignPar {
26 
27  public:
28 
32 
36 
37  virtual ~AlignPar() {}
38 
40  const AlignModule* alignModule() const { return m_alignModule; }
42 
44  const TrkDetElementBase* detElement() const { return m_detElement; }
45 
48 
50  std::string dumpType() const;
51 
53  double initPar() const { return m_initPar; }
54  double initErr() const { return m_initErr; }
55 
57  double finalPar() const { return m_finalPar; }
58  double finalErr() const { return m_finalErr; }
59 
61  double par() const { return m_par; }
62  double err() const { return m_err; }
63 
65  double sigma() const { return m_sigma; }
66 
68  double softCut() const { return m_softCut; }
69 
71  void setPar(double par, double err) {
72  m_par=par; m_err=err;
74  m_finalErr=std::sqrt(m_initErr*m_initErr + err*err);
75  }
76 
78  int index() const { return m_index; }
79 
81  void setInitPar(double par,double err) { m_initPar=par; m_initErr=err; }
82 
84  void setFinalPar(double par, double err) { m_finalPar=par; m_finalErr=err; }
85 
87  void setSigma(double sigma) { m_sigma=sigma; }
88 
90  void setSoftCut(double softCut) { m_softCut = softCut; }
91 
93  void setIndex(int index) { m_index=index; }
94 
95  void setFirstDeriv(double val) { m_firstDeriv=val; }
96  void setSecndDeriv(double val) { m_secndDeriv=val; }
97 
98  double firstDeriv() const { return m_firstDeriv; }
99  double secndDeriv() const { return m_secndDeriv; }
100 
101  private:
102 
105 
107 
108  double m_initPar;
109  double m_initErr;
110  double m_par;
111  double m_err;
112  double m_finalPar;
113  double m_finalErr;
114  double m_sigma;
115  double m_softCut;
116 
117  double m_firstDeriv;
118  double m_secndDeriv;
119 
120  int m_index;
121  };
122 
124  MsgStream& operator << (MsgStream& sl, const AlignPar& alignPar);
125 
126  inline AlignPar::AlignPar(AlignModule* alignModule, AlignModule::TransformParameters paramType) : m_alignModule(alignModule), m_detElement(0), m_paramType(paramType), m_initPar(0.), m_initErr(0.), m_par(0.), m_err(0.), m_finalPar(0.), m_finalErr(0.), m_sigma(1.), m_softCut(1.), m_firstDeriv(0.), m_secndDeriv(0.), m_index(-1) {}
127 
128  inline AlignPar::AlignPar(const TrkDetElementBase* detElement, AlignModule::TransformParameters paramType) : m_alignModule(0), m_detElement(detElement), m_paramType(paramType), m_initPar(0.), m_initErr(0.), m_par(0.), m_err(0.), m_finalPar(0.), m_finalErr(0.), m_sigma(1.), m_softCut(1.), m_firstDeriv(0.), m_secndDeriv(0.), m_index(-1) {}
129 
130 }
131 
132 #endif // TRKALIGNEVENT_ALIGNPAR_H
Trk::AlignPar::m_alignModule
AlignModule * m_alignModule
Definition: AlignPar.h:103
Trk::AlignPar::detElement
const TrkDetElementBase * detElement() const
returns the detElement
Definition: AlignPar.h:44
Trk::AlignPar::m_firstDeriv
double m_firstDeriv
Definition: AlignPar.h:117
Trk::AlignPar::m_secndDeriv
double m_secndDeriv
Definition: AlignPar.h:118
Trk::AlignPar::err
double err() const
Definition: AlignPar.h:62
Trk::AlignPar::sigma
double sigma() const
returns sigma
Definition: AlignPar.h:65
Trk::AlignPar::initPar
double initPar() const
returns initial parameter and error
Definition: AlignPar.h:53
Trk::AlignPar::setFirstDeriv
void setFirstDeriv(double val)
Definition: AlignPar.h:95
Trk::AlignPar::m_finalPar
double m_finalPar
Definition: AlignPar.h:112
index
Definition: index.py:1
Trk::AlignPar::m_par
double m_par
Definition: AlignPar.h:110
Trk::AlignPar::index
int index() const
index of alignPar in AlignParList owned by AlignModuleList
Definition: AlignPar.h:78
Trk::AlignModule
Definition: AlignModule.h:45
Trk::AlignPar::setFinalPar
void setFinalPar(double par, double err)
sets final parameter and error
Definition: AlignPar.h:84
Trk::AlignPar::m_finalErr
double m_finalErr
Definition: AlignPar.h:113
Trk::TrkDetElementBase
Definition: TrkDetElementBase.h:52
Trk::AlignPar::dumpType
std::string dumpType() const
returns the string representing the type of parameter (i.e.
Definition: AlignPar.cxx:31
Trk::AlignPar::m_sigma
double m_sigma
Definition: AlignPar.h:114
Trk::AlignPar::secndDeriv
double secndDeriv() const
Definition: AlignPar.h:99
Trk::AlignModule::TransformParameters
TransformParameters
enum to keep track of transformation coordinates
Definition: AlignModule.h:54
Trk::AlignPar::finalErr
double finalErr() const
Definition: AlignPar.h:58
Trk::AlignPar::paramType
AlignModule::TransformParameters paramType() const
returns the type of parameter (i.e.
Definition: AlignPar.h:47
Trk::AlignPar::m_initPar
double m_initPar
Definition: AlignPar.h:108
Trk::AlignPar::par
double par() const
returns final parameter and error
Definition: AlignPar.h:61
Trk::AlignPar::alignModule
const AlignModule * alignModule() const
returns the AlignModule
Definition: AlignPar.h:40
Trk::AlignPar::setSecndDeriv
void setSecndDeriv(double val)
Definition: AlignPar.h:96
Trk::AlignPar::setSigma
void setSigma(double sigma)
sets sigma
Definition: AlignPar.h:87
Trk::AlignPar::alignModule
AlignModule * alignModule()
Definition: AlignPar.h:41
Trk::AlignPar::setPar
void setPar(double par, double err)
sets final parameter and error
Definition: AlignPar.h:71
Trk::AlignPar::m_softCut
double m_softCut
Definition: AlignPar.h:115
Trk::AlignPar::initErr
double initErr() const
Definition: AlignPar.h:54
Trk::AlignPar
Definition: AlignPar.h:25
Trk::AlignPar::~AlignPar
virtual ~AlignPar()
Definition: AlignPar.h:37
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::AlignPar::AlignPar
AlignPar(AlignModule *alignModule, AlignModule::TransformParameters paramType)
constructor for alignment parameters of AlignModule
Definition: AlignPar.h:126
Trk::AlignPar::finalPar
double finalPar() const
returns final parameter and error
Definition: AlignPar.h:57
AlignModule.h
Trk::AlignPar::m_err
double m_err
Definition: AlignPar.h:111
Trk::AlignPar::setInitPar
void setInitPar(double par, double err)
sets initial parameter and error
Definition: AlignPar.h:81
Pythia8_RapidityOrderMPI.val
val
Definition: Pythia8_RapidityOrderMPI.py:14
Trk::operator<<
MsgStream & operator<<(MsgStream &sl, const AlignModule &alignModule)
overload of << operator for MsgStream for debug output
Definition: AlignModule.cxx:204
Trk::AlignPar::setIndex
void setIndex(int index)
used by AlignModuleList to set value of index in AlignParList
Definition: AlignPar.h:93
Trk::AlignPar::m_paramType
AlignModule::TransformParameters m_paramType
Definition: AlignPar.h:106
Trk::AlignPar::softCut
double softCut() const
returns soft-mode-cut
Definition: AlignPar.h:68
Trk::AlignPar::setSoftCut
void setSoftCut(double softCut)
sets soft-mode-cut
Definition: AlignPar.h:90
Trk::AlignPar::firstDeriv
double firstDeriv() const
Definition: AlignPar.h:98
Trk::AlignPar::m_initErr
double m_initErr
Definition: AlignPar.h:109
Trk::AlignPar::m_detElement
const TrkDetElementBase * m_detElement
Definition: AlignPar.h:104
Trk::AlignPar::m_index
int m_index
Definition: AlignPar.h:120