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"
20#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
21#include "nlohmann/json_fwd.hpp"
27class MutableTrackParameters;
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}; }
114 swap(a.m_obj, b.m_obj);
121 podio::utils::MaybeSharedPtr<TrackSeedObj> m_obj{
nullptr};
124#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
125void to_json(nlohmann::json& j,
const MutableTrackSeed& value);
Definition MutableTrackSeed.h:38
void addToHits(edm4eic::TrackerHit)
Definition MutableTrackSeed.cc:63
const podio::ObjectID getObjectID() const
Definition MutableTrackSeed.cc:111
edm4hep::Vector3f & perigee()
Get reference to Vector for the perigee (line surface)
Definition MutableTrackSeed.cc:53
~MutableTrackSeed()=default
destructor
const edm4eic::TrackParameters getParams() const
Access the Initial track parameters.
Definition MutableTrackSeed.cc:44
friend class TrackSeed
Definition MutableTrackSeed.h:42
friend class TrackSeedCollection
Definition MutableTrackSeed.h:40
const edm4hep::Vector3f & getPerigee() const
Access the Vector for the perigee (line surface)
Definition MutableTrackSeed.cc:42
void unlink()
disconnect from TrackSeedObj instance
Definition MutableTrackSeed.h:100
MutableTrackSeed(const MutableTrackSeed &other)=default
copy constructor
void setPerigee(edm4hep::Vector3f value)
Set the Vector for the perigee (line surface)
Definition MutableTrackSeed.cc:52
podio::ObjectID id() const
Definition MutableTrackSeed.h:108
MutableTrackSeed & operator=(MutableTrackSeed other)
copy-assignment operator
Definition MutableTrackSeed.cc:30
MutableTrackSeed()
default constructor
Definition MutableTrackSeed.cc:22
std::size_t hits_size() const
Definition MutableTrackSeed.cc:80
bool operator<(const MutableTrackSeed &other) const
Definition MutableTrackSeed.h:106
MutableTrackSeed clone() const
create a mutable deep-copy of the object with identical relations
Definition MutableTrackSeed.cc:35
bool isAvailable() const
check whether the object is actually available
Definition MutableTrackSeed.cc:104
friend void swap(MutableTrackSeed &a, MutableTrackSeed &b)
Definition MutableTrackSeed.h:112
void setParams(edm4eic::TrackParameters value)
Set the Initial track parameters.
Definition MutableTrackSeed.cc:55
podio::RelationRange< edm4eic::TrackerHit > getHits() const
Definition MutableTrackSeed.cc:91
std::vector< edm4eic::TrackerHit >::const_iterator hits_begin() const
Definition MutableTrackSeed.cc:68
bool operator==(const MutableTrackSeed &other) const
Definition MutableTrackSeed.h:102
std::vector< edm4eic::TrackerHit >::const_iterator hits_end() const
Definition MutableTrackSeed.cc:74
Definition TrackParameters.h:33
Definition TrackSeedCollection.h:95
Definition TrackSeed.h:39
Definition TrackSeedCollection.h:66
Definition TrackerHit.h:38
Definition CalorimeterHit.cc:18