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