3#ifndef EICD_MutableTrajectory_H
4#define EICD_MutableTrajectory_H
11#include "podio/RelationRange.h"
14#include "podio/ObjectID.h"
17#ifdef PODIO_JSON_OUTPUT
18#include "nlohmann/json.hpp"
24class MutableTrackParameters;
45 MutableTrajectory(std::uint32_t type, std::uint32_t nStates, std::uint32_t nMeasurements, std::uint32_t nOutliers, std::uint32_t nHoles,
float chi2, std::uint32_t ndf, std::uint32_t nSharedHits);
68 const std::uint32_t&
getType()
const;
86 const std::uint32_t&
getNdf()
const;
96 void setType(std::uint32_t value);
114 void setNdf(std::uint32_t value);
167 swap(a.m_obj, b.m_obj);
174#ifdef PODIO_JSON_OUTPUT
175void to_json(nlohmann::json& j,
const MutableTrajectory& value);
Definition: MutableTrajectory.h:35
const std::uint32_t & getType() const
Access the 0 (does not have good track fit), 1 (has good track fit)
Definition: MutableTrajectory.cc:59
const std::uint32_t & getNdf() const
Access the Number of degrees of freedom.
Definition: MutableTrajectory.cc:65
unsigned int measurementHits_size() const
Definition: MutableTrajectory.cc:110
void addToMeasurementChi2(float)
Definition: MutableTrajectory.cc:165
unsigned int outlierChi2_size() const
Definition: MutableTrajectory.cc:218
const std::uint32_t & getNMeasurements() const
Access the Number of hits used.
Definition: MutableTrajectory.cc:61
std::vector< eicd::TrackerHit >::const_iterator measurementHits_begin() const
Definition: MutableTrajectory.cc:98
void setNMeasurements(std::uint32_t value)
Set the Number of hits used.
Definition: MutableTrajectory.cc:78
void addToOutlierChi2(float)
Definition: MutableTrajectory.cc:201
unsigned int measurementChi2_size() const
Definition: MutableTrajectory.cc:182
bool operator==(const MutableTrajectory &other) const
Definition: MutableTrajectory.h:155
MutableTrajectory()
default constructor
Definition: MutableTrajectory.cc:17
bool operator<(const MutableTrajectory &other) const
Definition: MutableTrajectory.h:159
std::vector< float >::const_iterator outlierChi2_begin() const
Definition: MutableTrajectory.cc:206
std::vector< float >::const_iterator measurementChi2_begin() const
Definition: MutableTrajectory.cc:170
const eicd::TrackParameters getTrackParameters() const
Access the Associated track parameters, if any.
Definition: MutableTrajectory.cc:68
void setTrackParameters(eicd::TrackParameters value)
Set the Associated track parameters, if any.
Definition: MutableTrajectory.cc:85
const std::uint32_t & getNStates() const
Access the Number of tracking steps.
Definition: MutableTrajectory.cc:60
const float & getChi2() const
Access the Total chi2.
Definition: MutableTrajectory.cc:64
const std::uint32_t & getNHoles() const
Access the Number of missing hits.
Definition: MutableTrajectory.cc:63
void setChi2(float value)
Set the Total chi2.
Definition: MutableTrajectory.cc:81
void unlink()
disconnect from TrajectoryObj instance
Definition: MutableTrajectory.h:153
podio::RelationRange< eicd::TrackerHit > getOutlierHits() const
Definition: MutableTrajectory.cc:157
const podio::ObjectID getObjectID() const
Definition: MutableTrajectory.cc:249
std::vector< eicd::TrackerHit >::const_iterator outlierHits_end() const
Definition: MutableTrajectory.cc:140
~MutableTrajectory()
destructor
Definition: MutableTrajectory.cc:52
MutableTrajectory clone() const
create a mutable deep-copy of the object with identical relations
Definition: MutableTrajectory.cc:48
void setNdf(std::uint32_t value)
Set the Number of degrees of freedom.
Definition: MutableTrajectory.cc:82
podio::RelationRange< float > getMeasurementChi2() const
Definition: MutableTrajectory.cc:193
bool isAvailable() const
check whether the object is actually available
Definition: MutableTrajectory.cc:242
void setNSharedHits(std::uint32_t value)
Set the Number of shared hits with other trajectories.
Definition: MutableTrajectory.cc:83
void setNOutliers(std::uint32_t value)
Set the Number of hits not considered.
Definition: MutableTrajectory.cc:79
void addToOutlierHits(eicd::TrackerHit)
Definition: MutableTrajectory.cc:129
podio::RelationRange< float > getOutlierChi2() const
Definition: MutableTrajectory.cc:229
std::vector< float >::const_iterator outlierChi2_end() const
Definition: MutableTrajectory.cc:212
friend class Trajectory
Definition: MutableTrajectory.h:39
unsigned int id() const
Definition: MutableTrajectory.h:161
const std::uint32_t & getNSharedHits() const
Access the Number of shared hits with other trajectories.
Definition: MutableTrajectory.cc:66
podio::RelationRange< eicd::TrackerHit > getMeasurementHits() const
Definition: MutableTrajectory.cc:121
std::vector< eicd::TrackerHit >::const_iterator outlierHits_begin() const
Definition: MutableTrajectory.cc:134
const std::uint32_t & getNOutliers() const
Access the Number of hits not considered.
Definition: MutableTrajectory.cc:62
MutableTrajectory & operator=(MutableTrajectory other)
copy-assignment operator
Definition: MutableTrajectory.cc:37
void setType(std::uint32_t value)
Set the 0 (does not have good track fit), 1 (has good track fit)
Definition: MutableTrajectory.cc:76
unsigned int outlierHits_size() const
Definition: MutableTrajectory.cc:146
friend void swap(MutableTrajectory &a, MutableTrajectory &b)
Definition: MutableTrajectory.h:165
void setNHoles(std::uint32_t value)
Set the Number of missing hits.
Definition: MutableTrajectory.cc:80
std::vector< eicd::TrackerHit >::const_iterator measurementHits_end() const
Definition: MutableTrajectory.cc:104
void addToMeasurementHits(eicd::TrackerHit)
Definition: MutableTrajectory.cc:93
std::vector< float >::const_iterator measurementChi2_end() const
Definition: MutableTrajectory.cc:176
void setNStates(std::uint32_t value)
Set the Number of tracking steps.
Definition: MutableTrajectory.cc:77
Definition: TrackParameters.h:34
Definition: TrackerHit.h:28
Definition: TrajectoryCollection.h:82
Definition: Trajectory.h:34
Definition: TrajectoryCollection.h:57
Definition: TrajectoryObj.h:23
Definition: CalorimeterHit.cc:13