3#ifndef EDM4EIC_MutableTrajectory_H
4#define EDM4EIC_MutableTrajectory_H
12#include "podio/RelationRange.h"
16#include "podio/utilities/MaybeSharedPtr.h"
20#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
21#include "nlohmann/json_fwd.hpp"
53 MutableTrajectory(
const std::uint32_t type,
const std::uint32_t nStates,
const std::uint32_t nMeasurements,
const std::uint32_t nOutliers,
const std::uint32_t nHoles,
const std::uint32_t nSharedHits);
95 void setType(
const std::uint32_t type);
115 void setNHoles(
const std::uint32_t nHoles);
164 void unlink() { m_obj = podio::utils::MaybeSharedPtr<TrajectoryObj>{
nullptr}; }
179 friend std::hash<MutableTrajectory>;
183 swap(a.m_obj, b.m_obj);
190 podio::utils::MaybeSharedPtr<TrajectoryObj> m_obj{
new TrajectoryObj{}, podio::utils::MarkOwned};
193#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
205 return std::hash<edm4eic::TrajectoryObj*>{}(obj.m_obj.get());
Definition Measurement2D.h:46
Definition MutableTrackSeed.h:38
Definition MutableTrajectory.h:39
std::uint32_t getNMeasurements() const
Access the Number of hits used.
Definition MutableTrajectory.cc:60
podio::RelationRange< edm4eic::Measurement2D > getOutliers_deprecated() const
Definition MutableTrajectory.cc:191
constexpr bool operator!=(const MutableTrajectory &other) const
Definition MutableTrajectory.h:169
std::vector< float >::const_iterator outlierChi2_begin() const
Definition MutableTrajectory.cc:240
void setNOutliers(const std::uint32_t nOutliers)
Set the Number of hits not considered.
Definition MutableTrajectory.cc:79
podio::RelationRange< float > getMeasurementChi2() const
Definition MutableTrajectory.cc:227
std::size_t outliers_deprecated_size() const
Definition MutableTrajectory.cc:180
podio::RelationRange< edm4eic::TrackParameters > getTrackParameters() const
Definition MutableTrajectory.cc:119
bool operator<(const MutableTrajectory &other) const
Definition MutableTrajectory.h:173
std::uint32_t getNOutliers() const
Access the Number of hits not considered.
Definition MutableTrajectory.cc:61
void addToMeasurementChi2(const float &)
Definition MutableTrajectory.cc:199
std::vector< edm4eic::Measurement2D >::const_iterator outliers_deprecated_end() const
Definition MutableTrajectory.cc:174
void setNStates(const std::uint32_t nStates)
Set the Number of tracking steps.
Definition MutableTrajectory.cc:75
std::size_t measurements_deprecated_size() const
Definition MutableTrajectory.cc:144
void setType(const std::uint32_t type)
Set the 0 (does not have good track fit), 1 (has good track fit).
Definition MutableTrajectory.cc:73
void addToOutliers_deprecated(const edm4eic::Measurement2D &)
Definition MutableTrajectory.cc:163
podio::ObjectID id() const
Definition MutableTrajectory.h:175
MutableTrajectory(const MutableTrajectory &other)=default
copy constructor
void addToMeasurements_deprecated(const edm4eic::Measurement2D &)
Definition MutableTrajectory.cc:127
MutableTrajectory & operator=(MutableTrajectory other) &&=delete
void addToTrackParameters(const edm4eic::TrackParameters &)
Definition MutableTrajectory.cc:91
void setNHoles(const std::uint32_t nHoles)
Set the Number of missing hits.
Definition MutableTrajectory.cc:81
std::vector< edm4eic::Measurement2D >::const_iterator measurements_deprecated_end() const
Definition MutableTrajectory.cc:138
~MutableTrajectory()=default
destructor
const edm4eic::TrackSeed getSeed() const
Access the Corresponding track seed.
Definition MutableTrajectory.cc:65
std::vector< float >::const_iterator measurementChi2_end() const
Definition MutableTrajectory.cc:210
bool operator!=(const Trajectory &other) const
Definition MutableTrajectory.h:170
friend class TrajectoryCollection
Definition MutableTrajectory.h:41
MutableTrajectory clone(bool cloneRelations=true) const
Definition MutableTrajectory.cc:33
std::vector< float >::const_iterator outlierChi2_end() const
Definition MutableTrajectory.cc:246
void setNMeasurements(const std::uint32_t nMeasurements)
Set the Number of hits used.
Definition MutableTrajectory.cc:77
Trajectory object_type
Definition MutableTrajectory.h:46
MutableTrajectory()=default
default constructor
bool isAvailable() const
check whether the object is actually available
Definition MutableTrajectory.cc:276
podio::RelationRange< float > getOutlierChi2() const
Definition MutableTrajectory.cc:263
constexpr bool operator==(const MutableTrajectory &other) const
Definition MutableTrajectory.h:166
void setSeed(const edm4eic::TrackSeed &value)
Set the Corresponding track seed.
Definition MutableTrajectory.cc:86
std::uint32_t getType() const
Access the 0 (does not have good track fit), 1 (has good track fit).
Definition MutableTrajectory.cc:58
std::vector< float >::const_iterator measurementChi2_begin() const
Definition MutableTrajectory.cc:204
friend class TrajectoryMutableCollectionIterator
Definition MutableTrajectory.h:42
std::uint32_t getNStates() const
Access the Number of tracking steps.
Definition MutableTrajectory.cc:59
friend class Trajectory
Definition MutableTrajectory.h:43
const podio::ObjectID getObjectID() const
Definition MutableTrajectory.cc:280
std::uint32_t getNHoles() const
Access the Number of missing hits.
Definition MutableTrajectory.cc:62
std::size_t measurementChi2_size() const
Definition MutableTrajectory.cc:216
void unlink()
disconnect from TrajectoryObj instance
Definition MutableTrajectory.h:164
std::vector< edm4eic::Measurement2D >::const_iterator measurements_deprecated_begin() const
Definition MutableTrajectory.cc:132
podio::RelationRange< edm4eic::Measurement2D > getMeasurements_deprecated() const
Definition MutableTrajectory.cc:155
TrajectoryCollection collection_type
Definition MutableTrajectory.h:47
void addToOutlierChi2(const float &)
Definition MutableTrajectory.cc:235
void setNSharedHits(const std::uint32_t nSharedHits)
Set the Number of shared hits with other trajectories.
Definition MutableTrajectory.cc:83
MutableTrajectory & operator=(MutableTrajectory other) &
copy-assignment operator
Definition MutableTrajectory.cc:28
std::vector< edm4eic::Measurement2D >::const_iterator outliers_deprecated_begin() const
Definition MutableTrajectory.cc:168
friend void swap(MutableTrajectory &a, MutableTrajectory &b)
Definition MutableTrajectory.h:181
std::size_t outlierChi2_size() const
Definition MutableTrajectory.cc:252
std::vector< edm4eic::TrackParameters >::const_iterator trackParameters_end() const
Definition MutableTrajectory.cc:102
std::uint32_t getNSharedHits() const
Access the Number of shared hits with other trajectories.
Definition MutableTrajectory.cc:63
std::vector< edm4eic::TrackParameters >::const_iterator trackParameters_begin() const
Definition MutableTrajectory.cc:96
std::size_t trackParameters_size() const
Definition MutableTrajectory.cc:108
Definition TrackParameters.h:43
Definition TrackSeed.h:46
Definition TrajectoryCollection.h:139
Definition Trajectory.h:47
Definition TrajectoryObj.h:25
Definition ArrowMapper.cc:61
OrderKey getOrderKey(const edm4eic::CalorimeterHit &obj)
Definition CalorimeterHit.cc:146
std::size_t operator()(const edm4eic::MutableTrajectory &obj) const
Definition MutableTrajectory.h:204