3#ifndef EDM4EIC_TrackClusterMatch_H
4#define EDM4EIC_TrackClusterMatch_H
9#include "podio/utilities/MaybeSharedPtr.h"
10#include "podio/detail/OrderKey.h"
15#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
16#include "nlohmann/json_fwd.hpp"
21class TrackClusterMatchCollection;
36class MutableTrackClusterMatch;
37class TrackClusterMatchCollection;
38class TrackClusterMatchCollectionData;
82 static constexpr auto typeName =
"edm4eic::TrackClusterMatch";
98 void unlink() { m_obj = podio::utils::MaybeSharedPtr<TrackClusterMatchObj>{
nullptr}; }
115 swap(a.m_obj, b.m_obj);
120 explicit TrackClusterMatch(podio::utils::MaybeSharedPtr<TrackClusterMatchObj> obj);
123 podio::utils::MaybeSharedPtr<TrackClusterMatchObj> m_obj{
nullptr};
126std::ostream&
operator<<(std::ostream& o,
const TrackClusterMatch& value);
128#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
129void to_json(nlohmann::json& j,
const TrackClusterMatch& value);
Definition MutableTrackClusterMatch.h:36
Definition TrackClusterMatchCollectionData.h:32
Definition TrackClusterMatchCollection.h:91
Definition TrackClusterMatchCollection.h:36
Definition TrackClusterMatch.h:44
static TrackClusterMatch makeEmpty()
Definition TrackClusterMatch.cc:56
TrackClusterMatch & operator=(TrackClusterMatch other)
copy-assignment operator
Definition TrackClusterMatch.cc:30
const edm4eic::Cluster getCluster() const
Access the reference to the cluster.
Definition TrackClusterMatch.cc:62
const edm4eic::Track getTrack() const
Access the reference to the track.
Definition TrackClusterMatch.cc:69
bool isAvailable() const
check whether the object is actually available
Definition TrackClusterMatch.cc:81
~TrackClusterMatch()=default
destructor
friend class TrackClusterMatchCollection
Definition TrackClusterMatch.h:47
void unlink()
disconnect from TrackClusterMatchObj instance
Definition TrackClusterMatch.h:98
bool operator<(const TrackClusterMatch &other) const
Definition TrackClusterMatch.h:107
MutableTrackClusterMatch clone(bool cloneRelations=true) const
Definition TrackClusterMatch.cc:35
bool operator==(const TrackClusterMatch &other) const
Definition TrackClusterMatch.h:100
TrackClusterMatch(const TrackClusterMatch &other)=default
copy constructor
friend class MutableTrackClusterMatch
Definition TrackClusterMatch.h:46
bool operator!=(const TrackClusterMatch &other) const
Definition TrackClusterMatch.h:103
TrackClusterMatch()
default constructor
Definition TrackClusterMatch.cc:22
float getWeight() const
Access the weight of this association.
Definition TrackClusterMatch.cc:60
friend void swap(TrackClusterMatch &a, TrackClusterMatch &b)
Definition TrackClusterMatch.h:113
podio::ObjectID id() const
Definition TrackClusterMatch.h:109
bool operator!=(const MutableTrackClusterMatch &other) const
Definition TrackClusterMatch.h:104
const podio::ObjectID getObjectID() const
Definition TrackClusterMatch.cc:85
static constexpr auto typeName
Definition TrackClusterMatch.h:82
Definition TrackClusterMatchObj.h:22
Definition CalorimeterHit.cc:17
std::ostream & operator<<(std::ostream &o, const CalorimeterHit &value)
Definition CalorimeterHit.cc:103
Definition CalorimeterHit.h:31
OrderKey getOrderKey(const edm4eic::CalorimeterHit &obj)
Definition CalorimeterHit.cc:150