5#ifndef TRKALIGNEVENT_ALIGNMODULE_H
6#define TRKALIGNEVENT_ALIGNMODULE_H
12#include "Identifier/Identifier.h"
39 class TrkDetElementBase;
71 const std::string&
name=
"");
AlignPar contains all the information related to an alignment parameter of a particular align module ...
AlignTrack is a generalization of a Trk::Track, used as the basic object to contain track information...
AthMessaging(IMessageSvc *msgSvc, const std::string &name)
Constructor.
This is a "hash" representation of an Identifier.
const std::vector< Amg::Transform3D > * alignModuleToDetElementTransforms(AlignModule::DetectorType detType)
returns align module to detector element transforms
void shiftSurface(TrkDetElementBase *, Identifier) const
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.
double ** m_chi2VAlignParamX
int nChamberShifts() const
double ** chi2VAlignParamArrayMeasType(int measType) const
void setIdHash(IdentifierHash id)
AlignModule & operator=(const AlignModule &rhs)=delete
forbid assignment
std::vector< const TrkDetElementBase * > DetElementCollection
typedefs to contain detector element pointers and transforms
std::vector< Amg::Transform3D > TransformCollection
Identifier identify() const
void setGlobalFrameToAlignFrameTransform(const Amg::Transform3D &t)
set global to alignment frame transforms
void setIdentifier(Identifier identifier)
Set and return identifier of module.
void setChi2VAlignParamXArray(double **chi2VAlignParamX)
sets the values of chamber shifts in array
const std::string & name() const
double ** m_chi2VAlignParam
double ** chi2VAlignParamArray() const
Amg::Transform3D m_globalToAlignFrameTransform
void setNChamberShifts(int nShifts)
Used only for numerical derivatives.
const IdentifierCollection * identifierCollection(AlignModule::DetectorType detType) const
returns collection of Identifiers
double ** chi2VAlignParamXArray() const
void addTrack(int ntracks=1)
Increments and returns number of tracks passing through align module.
void setName(const std::string &name)
Set and return name of align module (i.e.
void resetAlignModuleToDetElementTransforms()
Reset align module to detector element transforms based on the AlignModuleToGlobal transform and the ...
std::vector< IdentifierCollection * > m_detIdentifiers
Amg::Vector3D m_globalToAlignFrameTranslation
void setAlignParShift(const AlignPar *alignPar) const
set values for a set of alignment parameters and errors
void restoreSurfaces(TrkDetElementBase *) const
Amg::Transform3D calculateAlignModuleToGlobal() const
Calculates Align to Global transform based on the TrkDetElementBase in the alignmodule.
unsigned int identify32() const
returns 32-bit compact identifier
const Amg::Vector3D & globalToAlignFrameTranslation() const
void addHit(int nhits=1)
Increments and returns number of hits in align module.
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...
const Amg::RotationMatrix3D & globalToAlignFrameRotation() const
returns global to alignment frame transforms
Amg::RotationMatrix3D m_globalToAlignFrameRotation
std::vector< Identifier > IdentifierCollection
const Amg::Transform3D * alignModuleToDetElementTransform(AlignModule::DetectorType detType, const TrkDetElementBase *det, const Identifier id=Identifier()) const
returns AlignModule to DetElement transform for a detector element
void setTrackChi2(double chi2)
AlignModule(const AlignModule &rhs)=delete
forbid copy constructor
TransformParameters
enum to keep track of transformation coordinates
IdentifierHash identifyHash() const
Set and return index of module, used by alignment classes to keep track of order of align module.
const DetElementCollection * detElementCollection(AlignModule::DetectorType detType) const
returns collection of detector elements
std::vector< std::vector< Amg::Transform3D > * > m_alignModuleToDetElementTransforms
std::vector< DetElementCollection * > m_detelements
void addTrackChi2(double chi2)
Increments and returns chi2 of tracks passing through align module.
Amg::Vector3D centerOfGravity() const
void setChi2VAlignParamArray(double **chi2VAlignParam)
Used only for numerical derivatives to get chi2 as a function of alignment parameters.
double *** m_chi2VAlignParamMeasType
void setNTracks(int ntracks)
void addNDoF(int nDoF)
Increments and returns number of degrees of freedom for tracks passing through align module.
void setChi2VAlignParamArrayMeasType(int measType, double **chi2VAlignParam)
vector of arrays of chamber shifts and chi2, one for each type of TrackState::MeasurementType
const Amg::Transform3D & globalFrameToAlignFrame() const
returns global frame to alignment frame
This is the base class for all tracking detector elements with read-out relevant information.
double chi2(TH1 *h0, TH1 *h1)
Eigen::Matrix< double, 3, 3 > RotationMatrix3D
Eigen::Affine3d Transform3D
Eigen::Matrix< double, 3, 1 > Vector3D
Ensure that the ATLAS eigen extensions are properly loaded.
std::string detTypeStr(AlignModule::DetectorType detType)
returns the detector type
MsgStream & operator<<(MsgStream &sl, const AlignModule &alignModule)
overload of << operator for MsgStream for debug output
void decomposeTransform(const Amg::Transform3D &transform, double *values)