|
ATLAS Offline Software
|
Go to the documentation of this file.
21 #include "CLHEP/Vector/LorentzVector.h"
43 std::vector<AscObj_TruthPoint*> *
ascObjs;
52 std::unique_ptr<Trk::TrackParameters>(
pars),
67 if (!trackStateOnSurfaces) {
68 VP1Msg::messageDebug(
"TrackHandle_SimulationTrack WARNING: Could not create track due to null TSOS vector");
71 if (trackStateOnSurfaces->
empty()) {
72 VP1Msg::messageDebug(
"TrackHandle_SimulationTrack WARNING: Could not create track due to empty TSOS vector");
73 delete trackStateOnSurfaces;
78 delete trackStateOnSurfaces;
85 std::unique_ptr<Trk::TrackStates> sink(trackStateOnSurfaces);
134 VP1Msg::message(
"TrackHandle_SimulationTrack ERROR: Could not determine particle charge (pdg="
147 addPars(trackStateOnSurfaces,
it->second->createTrackParameters());
192 if (
it->second->momentum()>=0)
193 return (
it->second->momentum()) * (
it->second->momentumDirection());
226 (*it)->setVisible(
b);
234 ascObjs =
new std::vector<AscObj_TruthPoint*>;
235 ascObjs->reserve(simHitList.size());
237 SimHitList::const_iterator
it,
itE(simHitList.end());
238 for (
it = simHitList.begin();
it !=
itE; ++
it )
244 theclass->registerAssocObject(*
it);
246 (*it)->setVisible(ascObjVis);
257 VP1Msg::messageVerbose(
"TrackHandle_SimulationTrack::calculateCharge() WARNING: Simhit did not have charge!");
JetConstituentVector::iterator iterator
bool isNonUniqueSecondary() const
Contains information about the 'fitter' of this track.
virtual QStringList clicked() const
Called when user selects the node (stringlist is displayed in messagebox).
static void addPars(Trk::TrackStates *dv, Trk::TrackParameters *pars)
void visibleStateChanged()
override if need to take action in this case.
virtual int pdgCode() const
0 means unknown
std::vector< std::pair< double, SimHitHandleBase * > > SimHitList
static Trk::TrackStateOnSurface * createTSOS(Trk::TrackParameters *pars)
void setAscObjsVisible(bool)
bool hasBarCodeZero() const
Imp(TrackHandle_SimulationTrack *tc, const SimBarCode &sbc, const SimHitList &shl)
virtual double calculateCharge() const
void createTrack(Trk::TrackStates *trackStateOnSurfaces)
DataVector< const Trk::TrackStateOnSurface > TrackStates
virtual Amg::Vector3D momentum() const
virtual Amg::Vector3D momentum() const
virtual ~TrackHandle_SimulationTrack()
TrackHandle_SimulationTrack(TrackCollHandleBase *, const SimBarCode &simBarCode, const SimHitList &)
virtual Trk::ParticleHypothesis extrapolationParticleHypothesis() const
Default implementation of this next method bases hypothesis on pdgCode() and charge():
const Trk::Track * trkTrack
represents the track state (measurement, material, fit parameters and quality) at a surface.
static void messageVerbose(const QString &)
Eigen::Matrix< double, 3, 1 > Vector3D
An STL vector of pointers that by default owns its pointed-to elements.
virtual double calculateCharge() const
static void messageDebug(const QString &)
void ensureInitTrkTracks()
static void message(const QString &, IVP1System *sys=0)
std::vector< AscObj_TruthPoint * > * ascObjs
QStringList baseInfo() const
TrackHandle_SimulationTrack * theclass
const Trk::Track * provide_pathInfoTrkTrack() const
bool empty() const noexcept
Returns true if the collection is empty.
HepMcParticleLink::index_type evtIndex() const
@ Unknown
Track fitter not defined.