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"
86 [[deprecated(
"use getPerigee instead")]]
94 [[deprecated(
"use getQuality instead")]]
104 std::vector<edm4eic::TrackerHit>::const_iterator
hits_begin()
const;
105 std::vector<edm4eic::TrackerHit>::const_iterator
hits_end()
const;
106 podio::RelationRange<edm4eic::TrackerHit>
getHits()
const;
113 void unlink() { m_obj = podio::utils::MaybeSharedPtr<TrackSeedObj>{
nullptr}; }
128 friend std::hash<MutableTrackSeed>;
132 swap(a.m_obj, b.m_obj);
139 podio::utils::MaybeSharedPtr<TrackSeedObj> m_obj{
new TrackSeedObj{}, podio::utils::MarkOwned};
142#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
154 return std::hash<edm4eic::TrackSeedObj*>{}(obj.m_obj.get());
Definition MutableTrackParameters.h:35
Definition MutableTrackSeed.h:38
TrackSeed object_type
Definition MutableTrackSeed.h:45
const podio::ObjectID getObjectID() const
Definition MutableTrackSeed.cc:110
friend class TrackSeedMutableCollectionIterator
Definition MutableTrackSeed.h:41
bool operator!=(const TrackSeed &other) const
Definition MutableTrackSeed.h:119
void setQuality(const float quality)
Set the Seed quality reported by finder.
Definition MutableTrackSeed.cc:56
MutableTrackSeed()=default
default constructor
edm4hep::Vector3f & perigee()
Get reference to Vector for the perigee (line surface)
Definition MutableTrackSeed.cc:55
~MutableTrackSeed()=default
destructor
void setPerigee(const edm4hep::Vector3f &perigee)
Set the Vector for the perigee (line surface)
Definition MutableTrackSeed.cc:53
MutableTrackSeed clone(bool cloneRelations=true) const
Definition MutableTrackSeed.cc:29
const edm4eic::TrackParameters getParams() const
Access the Initial track parameters.
Definition MutableTrackSeed.cc:45
void addToHits(const edm4eic::TrackerHit &)
Definition MutableTrackSeed.cc:65
MutableTrackSeed & operator=(MutableTrackSeed other) &
copy-assignment operator
Definition MutableTrackSeed.cc:24
friend class TrackSeed
Definition MutableTrackSeed.h:42
TrackSeedCollection collection_type
Definition MutableTrackSeed.h:46
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:113
MutableTrackSeed(const MutableTrackSeed &other)=default
copy constructor
bool operator!=(const MutableTrackSeed &other) const
Definition MutableTrackSeed.h:118
podio::ObjectID id() const
Definition MutableTrackSeed.h:124
void setParams(const edm4eic::TrackParameters &value)
Set the Initial track parameters.
Definition MutableTrackSeed.cc:60
std::size_t hits_size() const
Definition MutableTrackSeed.cc:82
bool operator<(const MutableTrackSeed &other) const
Definition MutableTrackSeed.h:122
float getQuality() const
Access the Seed quality reported by finder.
Definition MutableTrackSeed.cc:43
MutableTrackSeed & operator=(MutableTrackSeed other) &&=delete
bool isAvailable() const
check whether the object is actually available
Definition MutableTrackSeed.cc:106
friend void swap(MutableTrackSeed &a, MutableTrackSeed &b)
Definition MutableTrackSeed.h:130
float & quality()
Get reference to Seed quality reported by finder.
Definition MutableTrackSeed.cc:58
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:115
std::vector< edm4eic::TrackerHit >::const_iterator hits_end() const
Definition MutableTrackSeed.cc:76
Definition TrackParameters.h:43
Definition TrackSeedCollection.h:138
Definition TrackSeed.h:46
Definition TrackSeedObj.h:24
Definition TrackerHit.h:45
Definition CalorimeterHit.cc:17
OrderKey getOrderKey(const edm4eic::CalorimeterHit &obj)
Definition CalorimeterHit.cc:146
std::size_t operator()(const edm4eic::MutableTrackSeed &obj) const
Definition MutableTrackSeed.h:153