3#ifndef EDM4EIC_MutableTrackSegment_H
4#define EDM4EIC_MutableTrackSegment_H
11#include "podio/RelationRange.h"
14#include "podio/utilities/MaybeSharedPtr.h"
18#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
19#include "nlohmann/json_fwd.hpp"
83 [[deprecated(
"use getLength instead")]]
91 [[deprecated(
"use getLengthError instead")]]
101 std::vector<edm4eic::TrackPoint>::const_iterator
points_begin()
const;
102 std::vector<edm4eic::TrackPoint>::const_iterator
points_end()
const;
103 podio::RelationRange<edm4eic::TrackPoint>
getPoints()
const;
110 void unlink() { m_obj = podio::utils::MaybeSharedPtr<TrackSegmentObj>{
nullptr}; }
127 swap(a.m_obj, b.m_obj);
134 podio::utils::MaybeSharedPtr<TrackSegmentObj> m_obj{
nullptr};
137#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
138void to_json(nlohmann::json& j,
const MutableTrackSegment& value);
Definition MutableTrackSegment.h:36
friend class TrackSegmentCollection
Definition MutableTrackSegment.h:38
podio::RelationRange< edm4eic::TrackPoint > getPoints() const
Definition MutableTrackSegment.cc:98
MutableTrackSegment clone(bool cloneRelations=true) const
Definition MutableTrackSegment.cc:33
MutableTrackSegment()
default constructor
Definition MutableTrackSegment.cc:19
std::vector< edm4eic::TrackPoint >::const_iterator points_begin() const
Definition MutableTrackSegment.cc:75
bool operator<(const MutableTrackSegment &other) const
Definition MutableTrackSegment.h:119
std::vector< edm4eic::TrackPoint >::const_iterator points_end() const
Definition MutableTrackSegment.cc:81
float & lengthError()
Get reference to Error on the segment length.
Definition MutableTrackSegment.cc:62
bool isAvailable() const
check whether the object is actually available
Definition MutableTrackSegment.cc:111
float & length()
Get reference to Pathlength from the first to the last point.
Definition MutableTrackSegment.cc:59
MutableTrackSegment(const MutableTrackSegment &other)=default
copy constructor
friend class TrackSegment
Definition MutableTrackSegment.h:40
friend void swap(MutableTrackSegment &a, MutableTrackSegment &b)
Definition MutableTrackSegment.h:125
bool operator!=(const TrackSegment &other) const
Definition MutableTrackSegment.h:116
~MutableTrackSegment()=default
destructor
void unlink()
disconnect from TrackSegmentObj instance
Definition MutableTrackSegment.h:110
void setLengthError(float value)
Set the Error on the segment length.
Definition MutableTrackSegment.cc:60
std::size_t points_size() const
Definition MutableTrackSegment.cc:87
bool operator==(const MutableTrackSegment &other) const
Definition MutableTrackSegment.h:112
const edm4eic::Track getTrack() const
Access the Track used for this projection.
Definition MutableTrackSegment.cc:49
bool operator!=(const MutableTrackSegment &other) const
Definition MutableTrackSegment.h:115
void setTrack(const edm4eic::Track &value)
Set the Track used for this projection.
Definition MutableTrackSegment.cc:64
const podio::ObjectID getObjectID() const
Definition MutableTrackSegment.cc:115
podio::ObjectID id() const
Definition MutableTrackSegment.h:121
float getLengthError() const
Access the Error on the segment length.
Definition MutableTrackSegment.cc:47
float getLength() const
Access the Pathlength from the first to the last point.
Definition MutableTrackSegment.cc:46
void addToPoints(const edm4eic::TrackPoint &)
Definition MutableTrackSegment.cc:70
void setLength(float value)
Set the Pathlength from the first to the last point.
Definition MutableTrackSegment.cc:57
MutableTrackSegment & operator=(MutableTrackSegment other)
copy-assignment operator
Definition MutableTrackSegment.cc:28
Definition TrackPoint.h:22
Definition TrackSegmentCollection.h:92
Definition TrackSegment.h:38
Definition TrackSegmentCollection.h:63
Definition CalorimeterHit.cc:17