5#ifndef TRT_DIGITIZATION_TRTTIMECORRECTION_H
6#define TRT_DIGITIZATION_TRTTIMECORRECTION_H
9#include "Identifier/Identifier.h"
59 double& propagationTime1,
60 double& propagationTime2);
97 double& reflect_dist )
const;
105 double& reflect_dist )
const;
113 std::vector< std::vector< std::vector<double> > >
116 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 *)
double TimeShift(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 ...
std::vector< std::vector< double > > m_directDistsForBarrelLayers
Cached distances.
const unsigned int m_subdetectorMask
std::vector< std::vector< double > > m_reflectedDistsForBarrelLayers
Cached distances.
const TRTDigSettings * m_settings
void calculateSignalDists_EndCap(unsigned int iWheel, double &direct_dist, double &reflect_dist) const
Calculate the distance along the wire the signal travels before reaching the electronics.
std::vector< double > m_directDistsForEndCapWheels
Cached distances.
std::vector< std::vector< std::vector< double > > > m_timeShiftForEndCapPlanes
Cached timeshifts.
bool m_timeShiftPhiSectSymmetry
double calculateTimeShift_Barrel(unsigned int iPhi, unsigned int iRing, unsigned int iLayer, unsigned int iStraw, int strawID, const InDetDD::TRT_DetElementContainer *detElements)
Time shift for barrel straws.
const unsigned int m_shift10Bits
const double m_notInitVal
Value used to denote an uninitialized value.
void calculateSignalDists_Barrel(unsigned int iRing, unsigned int iLayer, double &direct_dist, double &reflect_dist) const
Calculate the distance along the wire the signal travels before reaching the electronics.
const unsigned int m_right5Bits
std::vector< double > m_reflectedDistsForEndCapWheels
Cached distances.
const ITRT_CalDbTool * m_trtcaldbtool
Identifier getIdentifier(int hitID, bool &statusok)
double m_lengthDeadRegion
double m_maxVertexDisplacement
const unsigned int m_shift5Bits
const unsigned int m_shift15Bits
void PropagationTime(int strawID, double meanZ, double &propagationTime1, double &propagationTime2)
Calculates the time between the signal reaching the wire and when it reaches the electronics.
std::vector< std::vector< std::vector< std::vector< double > > > > m_timeShiftForBarrelStraws
Cached timeshifts.
double m_signalPropagationSpeed
double calculateTimeShift_EndCap(unsigned int iPhi, unsigned int iWheel, unsigned int iLayer, int strawID, const InDetDD::TRT_DetElementContainer *detElements)
Time shift for end cap straws.
double calculateTimeShiftFromStrawEnds(const Amg::Vector3D &strawend1_globalcoord, const Amg::Vector3D &strawend2_globalcoord, int strawID)
Time shift from straw endpoints in global system.
const InDetDD::TRT_DetectorManager * m_detmgr
This is an Identifier helper class for the TRT subdetector.
Eigen::Matrix< double, 3, 1 > Vector3D