5#ifndef TRT_DIGITIZATION_TRTTIMECORRECTION_H
6#define TRT_DIGITIZATION_TRTTIMECORRECTION_H
9#include "Identifier/Identifier.h"
60 double& propagationTime1,
61 double& propagationTime2);
73 const unsigned int& iRing,
74 const unsigned int& iLayer,
75 const unsigned int& iStraw,
81 const unsigned int& iWheel,
82 const unsigned int& iLayer,
96 const unsigned int& iLayer,
98 double& reflect_dist )
const;
106 double& reflect_dist )
const;
114 std::vector< std::vector< std::vector<double> > >
117 std::vector< std::vector< std::vector< std::vector<double> > > >
AthMessaging(IMessageSvc *msgSvc, const std::string &name)
Constructor.
Class to hold different TRT detector elements structures.
The Detector Manager for all TRT Detector elements, it acts as the interface to the detector elements...
Class containing parameters and settings used by TRT digitization.
TRTTimeCorrection(const TRTDigSettings *digset, const InDetDD::TRT_DetectorManager *detmgr, const TRT_ID *, const ITRT_CalDbTool *)
std::vector< std::vector< double > > m_directDistsForBarrelLayers
Cached distances.
void calculateSignalDists_EndCap(const unsigned int &iWheel, double &direct_dist, double &reflect_dist) const
Calculate the distance along the wire the signal travels before reaching the electronics.
const unsigned int m_subdetectorMask
std::vector< std::vector< double > > m_reflectedDistsForBarrelLayers
Cached distances.
const TRTDigSettings * m_settings
double calculateTimeShift_Barrel(const unsigned int &iPhi, const unsigned int &iRing, const unsigned int &iLayer, const unsigned int &iStraw, const int strawID, const InDetDD::TRT_DetElementContainer *detElements)
Time shift for barrel straws.
std::vector< double > m_directDistsForEndCapWheels
Cached distances.
std::vector< std::vector< std::vector< double > > > m_timeShiftForEndCapPlanes
Cached timeshifts.
bool m_timeShiftPhiSectSymmetry
const unsigned int m_shift10Bits
const double m_notInitVal
Value used to denote an uninitialized value.
const unsigned int m_right5Bits
void PropagationTime(const int &strawID, const double &meanZ, double &propagationTime1, double &propagationTime2)
Calculates the time between the signal reaching the wire and when it reaches the electronics.
std::vector< double > m_reflectedDistsForEndCapWheels
Cached distances.
void calculateSignalDists_Barrel(const unsigned int &iRing, const unsigned int &iLayer, double &direct_dist, double &reflect_dist) const
Calculate the distance along the wire the signal travels before reaching the electronics.
const ITRT_CalDbTool * m_trtcaldbtool
double TimeShift(const int &strawID, const InDetDD::TRT_DetElementContainer *detElements)
Returns the time it would take to travel at light-speed from (0,0,0) to the farthest end of the wire ...
Identifier getIdentifier(int hitID, bool &statusok)
double m_lengthDeadRegion
double m_maxVertexDisplacement
double calculateTimeShift_EndCap(const unsigned int &iPhi, const unsigned int &iWheel, const unsigned int &iLayer, const int strawID, const InDetDD::TRT_DetElementContainer *detElements)
Time shift for end cap straws.
const unsigned int m_shift5Bits
double calculateTimeShiftFromStrawEnds(const Amg::Vector3D &strawend1_globalcoord, const Amg::Vector3D &strawend2_globalcoord, const int strawID)
Time shift from straw endpoints in global system.
const unsigned int m_shift15Bits
std::vector< std::vector< std::vector< std::vector< double > > > > m_timeShiftForBarrelStraws
Cached timeshifts.
double m_signalPropagationSpeed
const InDetDD::TRT_DetectorManager * m_detmgr
This is an Identifier helper class for the TRT subdetector.
Eigen::Matrix< double, 3, 1 > Vector3D