|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef TRT_DIGITIZATION_TRTPROCESSINGOFSTRAW_H
6 #define TRT_DIGITIZATION_TRTPROCESSINGOFSTRAW_H
13 #include "HepPDT/ParticleDataTable.hh"
31 #include "CLHEP/Random/RandomEngine.h"
46 namespace InDetDD {
class TRT_DetectorManager; }
65 const HepPDT::ParticleDataTable*,
99 bool & m_alreadyPrintedPDGcodeWarning,
100 double m_cosmicEventPhase,
102 bool emulationArflag,
103 bool emulationKrflag,
104 CLHEP::HepRandomEngine* rndmEngine,
105 CLHEP::HepRandomEngine* elecProcRndmEngine,
106 CLHEP::HepRandomEngine* elecNoiseRndmEngine,
107 CLHEP::HepRandomEngine* paiRndmEngine );
187 const double& particleCharge,
188 const double& timeOfHit,
195 std::vector<cluster>& clusterlist,
197 CLHEP::HepRandomEngine* rndmEngine,
198 CLHEP::HepRandomEngine* paiRndmEngine);
216 const std::vector<cluster>&
clusters,
217 std::vector<TRTElectronicsProcessing::Deposit>& deposits,
219 double m_cosmicEventPhase,
221 CLHEP::HepRandomEngine* rndmEngine);
223 double setClusterZ(
double cluster_z_in,
bool isLong,
bool isShort,
bool isEC)
const;
TRTElectronicsProcessing * m_pElectronicsProcessing
TRTDigCondBase * m_pDigConditions
std::vector< double > m_drifttimes
double m_innerRadiusOfStraw
const InDetDD::TRT_DetectorManager * m_detmgr
double m_signalPropagationSpeed
ITRT_PAITool * m_pPAItoolKr
TRTProcessingOfStraw(const TRTDigSettings *, const InDetDD::TRT_DetectorManager *, ITRT_PAITool *, ITRT_SimDriftTimeTool *, TRTElectronicsProcessing *ep, TRTNoise *noise, TRTDigCondBase *digcond, const HepPDT::ParticleDataTable *, const TRT_ID *, ITRT_PAITool *=NULL, ITRT_PAITool *=NULL, const ITRT_CalDbTool *=NULL)
Constructor: Calls Initialize method.
This is an Identifier helper class for the TRT subdetector. This class is a factory for creating comp...
void Initialize(const ITRT_CalDbTool *)
Initialize.
~TRTProcessingOfStraw()
Destructor.
Primary ionisation cluster.
const TRT_ID * m_id_helper
std::unique_ptr< CLHEP::RandBinomialFixedP > m_randBinomialXe
std::unique_ptr< CLHEP::RandBinomialFixedP > m_randBinomialAr
ITRT_SimDriftTimeTool * m_pSimDriftTimeTool
double m_outerRadiusOfWire
void addClustersFromStep(const double &scaledKineticEnergy, const double &particleCharge, const double &timeOfHit, const double &prex, const double &prey, const double &prez, const double &postx, const double &posty, const double &postz, std::vector< cluster > &clusterlist, int strawGasType, CLHEP::HepRandomEngine *rndmEngine, CLHEP::HepRandomEngine *paiRndmEngine)
This is the main function for re-simulation of the ionisation in the active gas via the PAI model.
TRTProcessingOfStraw(const TRTProcessingOfStraw &)
const TRTDigSettings * m_settings
unsigned int m_maxelectrons
double m_shiftOfZeroPoint
std::vector< TRTElectronicsProcessing::Deposit > m_depositList
Simulation of noise hits in the TRT.
bool m_timeCorrection
Time to be corrected for flight and wire propagation delays false when beamType='cosmics'.
double setClusterZ(double cluster_z_in, bool isLong, bool isShort, bool isEC) const
Class to provide easy MsgStream access and capabilities.
const HepPDT::ParticleDataTable * m_pParticleTable
std::vector< cluster > m_clusterlist
bool m_useMagneticFieldMap
TRTTimeCorrection * m_pTimeCorrection
Amg::Vector3D getGlobalPosition(int hitID, const TimedHitPtr< TRTUncompressedHit > *theHit)
double m_solenoidFieldStrength
TRT Digitization: Processing of a TRT Straws.
void ProcessStraw(MagField::AtlasFieldCache &fieldCache, hitCollConstIter i, hitCollConstIter e, TRTDigit &outdigit, bool &m_alreadyPrintedPDGcodeWarning, double m_cosmicEventPhase, int strawGasType, bool emulationArflag, bool emulationKrflag, CLHEP::HepRandomEngine *rndmEngine, CLHEP::HepRandomEngine *elecProcRndmEngine, CLHEP::HepRandomEngine *elecNoiseRndmEngine, CLHEP::HepRandomEngine *paiRndmEngine)
Process this straw all the way from Geant4 hit to output digit.
TimedHitCollection< TRTUncompressedHit >::const_iterator hitCollConstIter
cluster(double e, double t, double x, double y, double z)
std::unique_ptr< CLHEP::RandBinomialFixedP > m_randBinomialKr
Eigen::Matrix< double, 3, 1 > Vector3D
double m_attenuationLength
ITRT_PAITool * m_pPAItoolAr
The Detector Manager for all TRT Detector elements, it acts as the interface to the detector elements...
Local cache for magnetic field (based on MagFieldServices/AtlasFieldSvcTLS.h)
TRTProcessingOfStraw & operator=(const TRTProcessingOfStraw &)
Class containing parameters and settings used by TRT digitization.
std::vector< double > m_expattenuation
void ClustersToDeposits(MagField::AtlasFieldCache &fieldCache, const int &hitID, const std::vector< cluster > &clusters, std::vector< TRTElectronicsProcessing::Deposit > &deposits, Amg::Vector3D TRThitGlobalPos, double m_cosmicEventPhase, int strawGasType, CLHEP::HepRandomEngine *rndmEngine)
Transform the ioniation clusters along the particle trajectory inside a straw to energy deposits (i....
ITRT_PAITool * m_pPAItoolXe
bool m_alreadywarnedagainstpdg0
Communication with CondDB.