ATLAS Offline Software
Loading...
Searching...
No Matches
SimHitHandle_TrackRecord.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
5
7// //
8// Header file for class SimHitHandle_TrackRecord //
9// //
10// Description: Handle for Track Records //
11// //
12// Author: Thomas H. Kittelmann (Thomas.Kittelmann@cern.ch) //
13// Initial version: May 2008 //
14// //
16
17#ifndef SIMHITHANDLE_TRACKRECORD_H
18#define SIMHITHANDLE_TRACKRECORD_H
19
23
24
25class TrackRecord;
27
29public:
30
33
34 virtual QString type() const override { return "TrackRecord"; };
35
36 virtual Amg::Vector3D momentumDirection() const override;
37 virtual double actualMomentum() const override;
38 virtual Amg::Vector3D posStart() const override;
39 virtual Amg::Vector3D posEnd() const override;//We fake this one as a point 0.1mm away from posStart, in the momentumDirection.
40 virtual double hitTime() const override;
41 virtual int actualPDGCodeFromSimHit() const override;
42 virtual const HepMcParticleLink& particleLink() const override;
43 virtual Trk::TrackParameters * createTrackParameters() const override;
44
45private:
46
47 TrackRecord* m_trkrecord;//We keep this as non-const pointers due to wrong constness in TrackRecord methods!!
48 double m_mom;
51};
52
54// Inlines //
56
61
63{
64 return m_mom;
65}
66
71
73{
74 return posStart() + 0.1*CLHEP::mm*(momentumDirection());//faking it... but shouldn't matter.
75}
76
78{
79 return m_trkrecord->GetTime();
80}
81
83{
84 return m_trkrecord->GetPDGCode();
85}
86
87#endif
virtual Amg::Vector3D posStart() const override
virtual double hitTime() const override
virtual const HepMcParticleLink & particleLink() const override
const HepMcParticleLink * m_link
virtual QString type() const override
SimHitHandle_TrackRecord(const TrackRecord *)
virtual double actualMomentum() const override
virtual int actualPDGCodeFromSimHit() const override
virtual Amg::Vector3D posEnd() const override
virtual Trk::TrackParameters * createTrackParameters() const override
virtual Amg::Vector3D momentumDirection() const override
Amg::Vector3D Hep3VectorToEigen(const CLHEP::Hep3Vector &CLHEPvector)
Converts a CLHEP-based CLHEP::Hep3Vector into an Eigen-based Amg::Vector3D.
Eigen::Matrix< double, 3, 1 > Vector3D
ParametersBase< TrackParametersDim, Charged > TrackParameters