3#ifndef EDM4EIC_MutableTrackSegment_H
4#define EDM4EIC_MutableTrackSegment_H
11#include "podio/RelationRange.h"
14#include "podio/utilities/MaybeSharedPtr.h"
19#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
20#include "nlohmann/json_fwd.hpp"
94 std::vector<edm4eic::TrackPoint>::const_iterator
points_begin()
const;
95 std::vector<edm4eic::TrackPoint>::const_iterator
points_end()
const;
96 podio::RelationRange<edm4eic::TrackPoint>
getPoints()
const;
103 void unlink() { m_obj = podio::utils::MaybeSharedPtr<TrackSegmentObj>{
nullptr}; }
117 swap(a.m_obj, b.m_obj);
124 podio::utils::MaybeSharedPtr<TrackSegmentObj> m_obj{
nullptr};
127#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
128void to_json(nlohmann::json& j,
const MutableTrackSegment& value);
Definition MutableTrackSegment.h:37
friend class TrackSegmentCollection
Definition MutableTrackSegment.h:39
podio::RelationRange< edm4eic::TrackPoint > getPoints() const
Definition MutableTrackSegment.cc:93
MutableTrackSegment()
default constructor
Definition MutableTrackSegment.cc:22
void addToPoints(edm4eic::TrackPoint)
Definition MutableTrackSegment.cc:65
std::vector< edm4eic::TrackPoint >::const_iterator points_begin() const
Definition MutableTrackSegment.cc:70
bool operator<(const MutableTrackSegment &other) const
Definition MutableTrackSegment.h:109
std::vector< edm4eic::TrackPoint >::const_iterator points_end() const
Definition MutableTrackSegment.cc:76
void setTrack(edm4eic::Track value)
Set the Track used for this projection.
Definition MutableTrackSegment.cc:57
bool isAvailable() const
check whether the object is actually available
Definition MutableTrackSegment.cc:106
MutableTrackSegment(const MutableTrackSegment &other)=default
copy constructor
friend class TrackSegment
Definition MutableTrackSegment.h:41
friend void swap(MutableTrackSegment &a, MutableTrackSegment &b)
Definition MutableTrackSegment.h:115
MutableTrackSegment clone() const
create a mutable deep-copy of the object with identical relations
Definition MutableTrackSegment.cc:36
~MutableTrackSegment()=default
destructor
void unlink()
disconnect from TrackSegmentObj instance
Definition MutableTrackSegment.h:103
void setLengthError(float value)
Set the Error on the segment length.
Definition MutableTrackSegment.cc:55
std::size_t points_size() const
Definition MutableTrackSegment.cc:82
bool operator==(const MutableTrackSegment &other) const
Definition MutableTrackSegment.h:105
const edm4eic::Track getTrack() const
Access the Track used for this projection.
Definition MutableTrackSegment.cc:46
const podio::ObjectID getObjectID() const
Definition MutableTrackSegment.cc:113
podio::ObjectID id() const
Definition MutableTrackSegment.h:111
float getLengthError() const
Access the Error on the segment length.
Definition MutableTrackSegment.cc:44
float getLength() const
Access the Pathlength from the first to the last point.
Definition MutableTrackSegment.cc:43
void setLength(float value)
Set the Pathlength from the first to the last point.
Definition MutableTrackSegment.cc:54
MutableTrackSegment & operator=(MutableTrackSegment other)
copy-assignment operator
Definition MutableTrackSegment.cc:31
Definition TrackPoint.h:22
Definition TrackSegmentCollection.h:95
Definition TrackSegment.h:38
Definition TrackSegmentCollection.h:66
Definition CalorimeterHit.cc:18