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"
25class TrackSeedCollection;
27class MutableTrackParameters;
82 [[deprecated(
"use getPerigee instead")]]
92 std::vector<edm4eic::TrackerHit>::const_iterator
hits_begin()
const;
93 std::vector<edm4eic::TrackerHit>::const_iterator
hits_end()
const;
94 podio::RelationRange<edm4eic::TrackerHit>
getHits()
const;
101 void unlink() { m_obj = podio::utils::MaybeSharedPtr<TrackSeedObj>{
nullptr}; }
118 swap(a.m_obj, b.m_obj);
125 podio::utils::MaybeSharedPtr<TrackSeedObj> m_obj{
nullptr};
128#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
129void to_json(nlohmann::json& j,
const MutableTrackSeed& value);
Definition MutableTrackSeed.h:38
const podio::ObjectID getObjectID() const
Definition MutableTrackSeed.cc:109
bool operator!=(const TrackSeed &other) const
Definition MutableTrackSeed.h:107
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:64
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:45
void unlink()
disconnect from TrackSeedObj instance
Definition MutableTrackSeed.h:101
MutableTrackSeed(const MutableTrackSeed &other)=default
copy constructor
bool operator!=(const MutableTrackSeed &other) const
Definition MutableTrackSeed.h:106
void setPerigee(edm4hep::Vector3f value)
Set the Vector for the perigee (line surface)
Definition MutableTrackSeed.cc:55
podio::ObjectID id() const
Definition MutableTrackSeed.h:112
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:81
bool operator<(const MutableTrackSeed &other) const
Definition MutableTrackSeed.h:110
bool isAvailable() const
check whether the object is actually available
Definition MutableTrackSeed.cc:105
friend void swap(MutableTrackSeed &a, MutableTrackSeed &b)
Definition MutableTrackSeed.h:116
podio::RelationRange< edm4eic::TrackerHit > getHits() const
Definition MutableTrackSeed.cc:92
std::vector< edm4eic::TrackerHit >::const_iterator hits_begin() const
Definition MutableTrackSeed.cc:69
bool operator==(const MutableTrackSeed &other) const
Definition MutableTrackSeed.h:103
std::vector< edm4eic::TrackerHit >::const_iterator hits_end() const
Definition MutableTrackSeed.cc:75
Definition TrackParameters.h:43
Definition TrackSeedCollection.h:91
Definition TrackSeed.h:46
Definition TrackSeedCollection.h:62
Definition TrackerHit.h:45
Definition CalorimeterHit.cc:17
OrderKey getOrderKey(const edm4eic::CalorimeterHit &obj)
Definition CalorimeterHit.cc:150