ATLAS Offline Software
|
#include <AlignModule.h>
Public Types | |
enum | TransformParameters { TransX =0, TransY, TransZ, RotX, RotY, RotZ, BowX, BowY, BowZ, NTransformPar, MaxNPar =10 } |
enum to keep track of transformation coordinates More... | |
enum | DetectorType { unidentified =0, Pixel, SCT, TRT, MDT, CSC, RPC, TGC, NDetectorTypes } |
typedef std::vector< const TrkDetElementBase * > | DetElementCollection |
typedefs to contain detector element pointers and transforms More... | |
typedef std::vector< Identifier > | IdentifierCollection |
typedef std::vector< Amg::Transform3D > | TransformCollection |
Public Member Functions | |
AlignModule (const AlgTool *algtool, const Amg::Transform3D &globalToAlignXform=Amg::Transform3D::Identity(), const std::string &name="") | |
constructor creates MsgStream with output level of parent tool and AlignModule for name. More... | |
AlignModule ()=delete | |
AlignModule (const AlignModule &rhs)=delete | |
forbid copy constructor More... | |
AlignModule & | operator= (const AlignModule &rhs)=delete |
forbid assignment More... | |
virtual | ~AlignModule () |
void | setName (const std::string &name) |
Set and return name of align module (i.e. More... | |
const std::string & | name () const |
IdentifierHash | identifyHash () const |
Set and return index of module, used by alignment classes to keep track of order of align module. More... | |
void | setIdHash (IdentifierHash id) |
void | setIdentifier (Identifier identifier) |
Set and return identifier of module. More... | |
Identifier | identify () const |
unsigned int | identify32 () const |
returns 32-bit compact identifier More... | |
const Amg::Transform3D & | globalFrameToAlignFrame () const |
returns global frame to alignment frame More... | |
const Amg::RotationMatrix3D & | globalToAlignFrameRotation () const |
returns global to alignment frame transforms More... | |
const Amg::Vector3D & | globalToAlignFrameTranslation () const |
void | setGlobalFrameToAlignFrameTransform (const Amg::Transform3D &t) |
set global to alignment frame transforms More... | |
void | setAlignParShift (const AlignPar *alignPar) const |
set values for a set of alignment parameters and errors More... | |
const DetElementCollection * | detElementCollection (AlignModule::DetectorType detType) const |
returns collection of detector elements More... | |
const IdentifierCollection * | identifierCollection (AlignModule::DetectorType detType) const |
returns collection of Identifiers More... | |
const std::vector< Amg::Transform3D > * | alignModuleToDetElementTransforms (AlignModule::DetectorType detType) |
returns align module to detector element transforms More... | |
const Amg::Transform3D * | alignModuleToDetElementTransform (AlignModule::DetectorType detType, const TrkDetElementBase *det, const Identifier id=Identifier()) const |
returns AlignModule to DetElement transform for a detector element More... | |
void | addDetElement (AlignModule::DetectorType detType, const TrkDetElementBase *det, const Amg::Transform3D &transform, Identifier id=Identifier()) |
used to add a detector element to the align module with a align frame to detector element local frame transform More... | |
void | setNChamberShifts (int nShifts) |
Used only for numerical derivatives. More... | |
int | nChamberShifts () const |
void | setChi2VAlignParamArray (double **chi2VAlignParam) |
Used only for numerical derivatives to get chi2 as a function of alignment parameters. More... | |
double ** | chi2VAlignParamArray () const |
void | setChi2VAlignParamXArray (double **chi2VAlignParamX) |
sets the values of chamber shifts in array More... | |
double ** | chi2VAlignParamXArray () const |
void | setChi2VAlignParamArrayMeasType (int measType, double **chi2VAlignParam) |
vector of arrays of chamber shifts and chi2, one for each type of TrackState::MeasurementType More... | |
double ** | chi2VAlignParamArrayMeasType (int measType) const |
void | addTrack (int ntracks=1) |
Increments and returns number of tracks passing through align module. More... | |
int | nTracks () const |
void | setNTracks (int ntracks) |
void | addTrackChi2 (double chi2) |
Increments and returns chi2 of tracks passing through align module. More... | |
double | trackChi2 () const |
void | setTrackChi2 (double chi2) |
void | addHit (int nhits=1) |
Increments and returns number of hits in align module. More... | |
int | nHits () const |
void | setNHits (int nhits) |
void | addNDoF (int nDoF) |
Increments and returns number of degrees of freedom for tracks passing through align module. More... | |
int | nDoF () const |
void | setNDoF (int nDoF) |
Amg::Vector3D | centerOfGravity () const |
void | shiftSurface (TrkDetElementBase *, Identifier) const |
void | restoreSurfaces (TrkDetElementBase *) const |
Amg::Transform3D | calculateAlignModuleToGlobal () const |
Calculates Align to Global transform based on the TrkDetElementBase in the alignmodule. More... | |
void | resetAlignModuleToDetElementTransforms () |
Reset align module to detector element transforms based on the AlignModuleToGlobal transform and the global to DetElementTransform. More... | |
bool | msgLvl (const MSG::Level lvl) const |
Test the output level. More... | |
MsgStream & | msg () const |
The standard message stream. More... | |
MsgStream & | msg (const MSG::Level lvl) const |
The standard message stream. More... | |
void | setLevel (MSG::Level lvl) |
Change the current logging level. More... | |
Static Public Member Functions | |
static Amg::Vector3D | centerOfGravity (const std::vector< DetElementCollection * > &) |
Calculates center of gravity (average center of associated det-elements) More... | |
Protected Attributes | |
std::vector< DetElementCollection * > | m_detelements |
std::vector< IdentifierCollection * > | m_detIdentifiers |
std::vector< std::vector< Amg::Transform3D > * > | m_alignModuleToDetElementTransforms |
Private Member Functions | |
void | initMessaging () const |
Initialize our message level and MessageSvc. More... | |
Private Attributes | |
Amg::Transform3D | m_globalToAlignFrameTransform |
Amg::RotationMatrix3D | m_globalToAlignFrameRotation |
Amg::Vector3D | m_globalToAlignFrameTranslation |
int | m_nChamberShifts |
double ** | m_chi2VAlignParam |
double ** | m_chi2VAlignParamX |
double *** | m_chi2VAlignParamMeasType |
std::string | m_name |
IdentifierHash | m_idHash |
Identifier | m_identifier |
int | m_ntracks |
int | m_nhits |
double | m_trackchi2 |
int | m_nDoF |
std::string | m_nm |
Message source name. More... | |
boost::thread_specific_ptr< MsgStream > | m_msg_tls |
MsgStream instance (a std::cout like with print-out levels) More... | |
std::atomic< IMessageSvc * > | m_imsg { nullptr } |
MessageSvc pointer. More... | |
std::atomic< MSG::Level > | m_lvl { MSG::NIL } |
Current logging level. More... | |
std::atomic_flag m_initialized | ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT |
Messaging initialized (initMessaging) More... | |
Definition at line 45 of file AlignModule.h.
typedef std::vector<const TrkDetElementBase*> Trk::AlignModule::DetElementCollection |
typedefs to contain detector element pointers and transforms
Definition at line 60 of file AlignModule.h.
typedef std::vector<Identifier> Trk::AlignModule::IdentifierCollection |
Definition at line 61 of file AlignModule.h.
typedef std::vector<Amg::Transform3D> Trk::AlignModule::TransformCollection |
Definition at line 62 of file AlignModule.h.
Enumerator | |
---|---|
unidentified | |
Pixel | |
SCT | |
TRT | |
MDT | |
CSC | |
RPC | |
TGC | |
NDetectorTypes |
Definition at line 57 of file AlignModule.h.
AlignModule::AlignModule | ( | const AlgTool * | algtool, |
const Amg::Transform3D & | globalToAlignXform = Amg::Transform3D::Identity() , |
||
const std::string & | name = "" |
||
) |
constructor creates MsgStream with output level of parent tool and AlignModule for name.
Transform is global to align frame transform
Definition at line 23 of file AlignModule.cxx.
|
delete |
|
delete |
forbid copy constructor
|
virtual |
Definition at line 51 of file AlignModule.cxx.
void AlignModule::addDetElement | ( | AlignModule::DetectorType | detType, |
const TrkDetElementBase * | det, | ||
const Amg::Transform3D & | transform, | ||
Identifier | id = Identifier() |
||
) |
used to add a detector element to the align module with a align frame to detector element local frame transform
Definition at line 126 of file AlignModule.cxx.
|
inline |
Increments and returns number of hits in align module.
Definition at line 186 of file AlignModule.h.
|
inline |
Increments and returns number of degrees of freedom for tracks passing through align module.
Definition at line 192 of file AlignModule.h.
|
inline |
Increments and returns number of tracks passing through align module.
Definition at line 176 of file AlignModule.h.
|
inline |
Increments and returns chi2 of tracks passing through align module.
Definition at line 181 of file AlignModule.h.
const Amg::Transform3D * AlignModule::alignModuleToDetElementTransform | ( | AlignModule::DetectorType | detType, |
const TrkDetElementBase * | det, | ||
const Identifier | id = Identifier() |
||
) | const |
returns AlignModule to DetElement transform for a detector element
Definition at line 150 of file AlignModule.cxx.
|
inline |
Amg::Transform3D AlignModule::calculateAlignModuleToGlobal | ( | ) | const |
Calculates Align to Global transform based on the TrkDetElementBase in the alignmodule.
Caluluate Align to Global transform based on the TrkDetElementBase in the alignmodule.
Definition at line 214 of file AlignModule.cxx.
Amg::Vector3D AlignModule::centerOfGravity | ( | ) | const |
Definition at line 119 of file AlignModule.cxx.
|
static |
Calculates center of gravity (average center of associated det-elements)
Definition at line 95 of file AlignModule.cxx.
|
inline |
Definition at line 161 of file AlignModule.h.
|
inline |
Definition at line 169 of file AlignModule.h.
|
inline |
Definition at line 165 of file AlignModule.h.
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 111 of file AlignModule.h.
|
inline |
|
inline |
Definition at line 97 of file AlignModule.h.
|
inline |
|
inline |
Set and return index of module, used by alignment classes to keep track of order of align module.
Definition at line 92 of file AlignModule.h.
|
privateinherited |
Initialize our message level and MessageSvc.
This method should only be called once.
Definition at line 39 of file AthMessaging.cxx.
|
inlineinherited |
The standard message stream.
Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.
Definition at line 164 of file AthMessaging.h.
|
inlineinherited |
The standard message stream.
Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.
Definition at line 179 of file AthMessaging.h.
|
inlineinherited |
Test the output level.
lvl | The message level to test against |
true | Messages at level "lvl" will be printed |
Definition at line 151 of file AthMessaging.h.
|
inline |
Definition at line 89 of file AlignModule.h.
|
inline |
Definition at line 156 of file AlignModule.h.
|
inline |
Definition at line 193 of file AlignModule.h.
|
inline |
Definition at line 187 of file AlignModule.h.
|
inline |
Definition at line 177 of file AlignModule.h.
|
delete |
forbid assignment
void AlignModule::resetAlignModuleToDetElementTransforms | ( | ) |
Reset align module to detector element transforms based on the AlignModuleToGlobal transform and the global to DetElementTransform.
Definition at line 287 of file AlignModule.cxx.
|
inline |
Definition at line 201 of file AlignModule.h.
set values for a set of alignment parameters and errors
|
inline |
Used only for numerical derivatives to get chi2 as a function of alignment parameters.
Definition at line 160 of file AlignModule.h.
|
inline |
vector of arrays of chamber shifts and chi2, one for each type of TrackState::MeasurementType
Definition at line 168 of file AlignModule.h.
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 93 of file AlignModule.h.
|
inherited |
Change the current logging level.
Use this rather than msg().setLevel() for proper operation with MT.
Definition at line 28 of file AthMessaging.cxx.
|
inline |
Set and return name of align module (i.e.
endcap A, etc.)
Definition at line 88 of file AlignModule.h.
|
inline |
Used only for numerical derivatives.
Sets and returns number of chamber shifts used to plot chi2 as a function of alignment parameter.
Definition at line 155 of file AlignModule.h.
|
inline |
Definition at line 194 of file AlignModule.h.
|
inline |
Definition at line 188 of file AlignModule.h.
|
inline |
Definition at line 178 of file AlignModule.h.
|
inline |
Definition at line 183 of file AlignModule.h.
|
inline |
Definition at line 200 of file AlignModule.h.
|
inline |
Definition at line 182 of file AlignModule.h.
|
mutableprivateinherited |
Messaging initialized (initMessaging)
Definition at line 141 of file AthMessaging.h.
|
protected |
Definition at line 218 of file AlignModule.h.
|
private |
Definition at line 231 of file AlignModule.h.
|
private |
Definition at line 233 of file AlignModule.h.
|
private |
Definition at line 232 of file AlignModule.h.
|
protected |
Definition at line 214 of file AlignModule.h.
|
protected |
Definition at line 215 of file AlignModule.h.
|
private |
Definition at line 225 of file AlignModule.h.
|
private |
Definition at line 224 of file AlignModule.h.
|
private |
Definition at line 226 of file AlignModule.h.
|
private |
Definition at line 237 of file AlignModule.h.
|
private |
Definition at line 236 of file AlignModule.h.
|
mutableprivateinherited |
MessageSvc pointer.
Definition at line 135 of file AthMessaging.h.
|
mutableprivateinherited |
Current logging level.
Definition at line 138 of file AthMessaging.h.
|
mutableprivateinherited |
MsgStream instance (a std::cout like with print-out levels)
Definition at line 132 of file AthMessaging.h.
|
private |
Definition at line 235 of file AlignModule.h.
|
private |
Definition at line 230 of file AlignModule.h.
|
private |
Definition at line 243 of file AlignModule.h.
|
private |
Definition at line 240 of file AlignModule.h.
|
privateinherited |
Message source name.
Definition at line 129 of file AthMessaging.h.
|
private |
Definition at line 239 of file AlignModule.h.
|
private |
Definition at line 242 of file AlignModule.h.