11#include "edm4hep/Vector3f.h"
12#include "podio/RelationRange.h"
15#include "podio/ObjectID.h"
18#ifdef PODIO_JSON_OUTPUT
19#include "nlohmann/json.hpp"
41 Track(std::int32_t type,
float chi2, std::int32_t ndf, edm4hep::Vector3f momentum,
eicd::Cov3f momentumError,
float time,
float timeError,
float charge);
62 const std::int32_t&
getType()
const;
68 const std::int32_t&
getNdf()
const;
90 std::vector<eicd::TrackParameters>::const_iterator
parameters_end()
const;
91 podio::RelationRange<eicd::TrackParameters>
getParameters()
const;
99 std::vector<eicd::Track>::const_iterator
tracks_begin()
const;
100 std::vector<eicd::Track>::const_iterator
tracks_end()
const;
101 podio::RelationRange<eicd::Track>
getTracks()
const;
121 swap(a.m_obj, b.m_obj);
128std::ostream&
operator<<(std::ostream& o,
const Track& value);
130#ifdef PODIO_JSON_OUTPUT
131void to_json(nlohmann::json& j,
const Track& value);
Definition: MutableTrack.h:33
Definition: TrackCollection.h:82
Definition: TrackCollection.h:35
~Track()
destructor
Definition: Track.cc:51
Track & operator=(Track other)
copy-assignment operator
Definition: Track.cc:36
const float & getChi2() const
Access the Total chi2 (sum) of the track fit.
Definition: Track.cc:58
std::vector< eicd::Track >::const_iterator tracks_end() const
Definition: Track.cc:138
std::vector< eicd::TrackerHit >::const_iterator trackerHits_end() const
Definition: Track.cc:106
void unlink()
disconnect from TrackObj instance
Definition: Track.h:107
std::vector< eicd::TrackerHit >::const_iterator trackerHits_begin() const
Definition: Track.cc:100
const float & getTimeError() const
Access the Error on the track vertex time.
Definition: Track.cc:63
bool operator<(const Track &other) const
Definition: Track.h:113
friend void swap(Track &a, Track &b)
Definition: Track.h:119
std::vector< eicd::TrackParameters >::const_iterator parameters_begin() const
Definition: Track.cc:68
MutableTrack clone() const
create a mutable deep-copy of the object with identical relations
Definition: Track.cc:47
const float & getCharge() const
Access the Particle charge.
Definition: Track.cc:64
const std::int32_t & getNdf() const
Access the Numbers of degrees of freedom of the track fit.
Definition: Track.cc:59
unsigned int parameters_size() const
Definition: Track.cc:80
Track()
default constructor
Definition: Track.cc:16
unsigned int tracks_size() const
Definition: Track.cc:144
unsigned int id() const
Definition: Track.h:115
const edm4hep::Vector3f & getMomentum() const
Access the Track 3-momentum at the vertex [GeV].
Definition: Track.cc:60
podio::RelationRange< eicd::Track > getTracks() const
Definition: Track.cc:155
unsigned int trackerHits_size() const
Definition: Track.cc:112
const float & getTime() const
Access the Track time at the vertex [ns].
Definition: Track.cc:62
const std::int32_t & getType() const
Access the Flag that defines the type of track.
Definition: Track.cc:57
const podio::ObjectID getObjectID() const
Definition: Track.cc:174
podio::RelationRange< eicd::TrackParameters > getParameters() const
Definition: Track.cc:91
const eicd::Cov3f & getMomentumError() const
Access the Covariance matrix on the momentum.
Definition: Track.cc:61
podio::RelationRange< eicd::TrackerHit > getTrackerHits() const
Definition: Track.cc:123
bool isAvailable() const
check whether the object is actually available
Definition: Track.cc:167
std::vector< eicd::TrackParameters >::const_iterator parameters_end() const
Definition: Track.cc:74
std::vector< eicd::Track >::const_iterator tracks_begin() const
Definition: Track.cc:132
bool operator==(const Track &other) const
Definition: Track.h:109
Definition: TrackObj.h:20
Definition: TrackParameters.h:34
Definition: TrackerHit.h:28
Definition: CalorimeterHit.cc:13
std::ostream & operator<<(std::ostream &o, const CalorimeterHit &value)
Definition: CalorimeterHit.cc:93