3#ifndef EDM4EIC_MutableTrackSeed_H
4#define EDM4EIC_MutableTrackSeed_H
11#include "edm4hep/Vector3f.h"
12#include "podio/RelationRange.h"
15#include "podio/utilities/MaybeSharedPtr.h"
19#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
20#include "nlohmann/json_fwd.hpp"
26class MutableTrackParameters;
81 [[deprecated(
"use getPerigee instead")]]
91 std::vector<edm4eic::TrackerHit>::const_iterator
hits_begin()
const;
92 std::vector<edm4eic::TrackerHit>::const_iterator
hits_end()
const;
93 podio::RelationRange<edm4eic::TrackerHit>
getHits()
const;
100 void unlink() { m_obj = podio::utils::MaybeSharedPtr<TrackSeedObj>{
nullptr}; }
117 swap(a.m_obj, b.m_obj);
124 podio::utils::MaybeSharedPtr<TrackSeedObj> m_obj{
nullptr};
127#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
128void to_json(nlohmann::json& j,
const MutableTrackSeed& value);
Definition MutableTrackSeed.h:37
const podio::ObjectID getObjectID() const
Definition MutableTrackSeed.cc:110
bool operator!=(const TrackSeed &other) const
Definition MutableTrackSeed.h:106
edm4hep::Vector3f & perigee()
Get reference to Vector for the perigee (line surface)
Definition MutableTrackSeed.cc:57
~MutableTrackSeed()=default
destructor
MutableTrackSeed clone(bool cloneRelations=true) const
Definition MutableTrackSeed.cc:32
const edm4eic::TrackParameters getParams() const
Access the Initial track parameters.
Definition MutableTrackSeed.cc:47
void addToHits(const edm4eic::TrackerHit &)
Definition MutableTrackSeed.cc:65
friend class TrackSeed
Definition MutableTrackSeed.h:41
friend class TrackSeedCollection
Definition MutableTrackSeed.h:39
const edm4hep::Vector3f & getPerigee() const
Access the Vector for the perigee (line surface)
Definition MutableTrackSeed.cc:45
void unlink()
disconnect from TrackSeedObj instance
Definition MutableTrackSeed.h:100
MutableTrackSeed(const MutableTrackSeed &other)=default
copy constructor
bool operator!=(const MutableTrackSeed &other) const
Definition MutableTrackSeed.h:105
void setPerigee(edm4hep::Vector3f value)
Set the Vector for the perigee (line surface)
Definition MutableTrackSeed.cc:55
podio::ObjectID id() const
Definition MutableTrackSeed.h:111
MutableTrackSeed & operator=(MutableTrackSeed other)
copy-assignment operator
Definition MutableTrackSeed.cc:27
MutableTrackSeed()
default constructor
Definition MutableTrackSeed.cc:19
void setParams(const edm4eic::TrackParameters &value)
Set the Initial track parameters.
Definition MutableTrackSeed.cc:59
std::size_t hits_size() const
Definition MutableTrackSeed.cc:82
bool operator<(const MutableTrackSeed &other) const
Definition MutableTrackSeed.h:109
bool isAvailable() const
check whether the object is actually available
Definition MutableTrackSeed.cc:106
friend void swap(MutableTrackSeed &a, MutableTrackSeed &b)
Definition MutableTrackSeed.h:115
podio::RelationRange< edm4eic::TrackerHit > getHits() const
Definition MutableTrackSeed.cc:93
std::vector< edm4eic::TrackerHit >::const_iterator hits_begin() const
Definition MutableTrackSeed.cc:70
bool operator==(const MutableTrackSeed &other) const
Definition MutableTrackSeed.h:102
std::vector< edm4eic::TrackerHit >::const_iterator hits_end() const
Definition MutableTrackSeed.cc:76
Definition TrackParameters.h:33
Definition TrackSeedCollection.h:92
Definition TrackSeed.h:39
Definition TrackSeedCollection.h:63
Definition TrackerHit.h:38
Definition CalorimeterHit.cc:17