3#ifndef EDM4EIC_MutableTrackClusterMatch_H
4#define EDM4EIC_MutableTrackClusterMatch_H
11#include "podio/utilities/MaybeSharedPtr.h"
15#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
16#include "nlohmann/json_fwd.hpp"
95 void unlink() { m_obj = podio::utils::MaybeSharedPtr<TrackClusterMatchObj>{
nullptr}; }
110 friend std::hash<MutableTrackClusterMatch>;
114 swap(a.m_obj, b.m_obj);
121 podio::utils::MaybeSharedPtr<TrackClusterMatchObj> m_obj{
new TrackClusterMatchObj{}, podio::utils::MarkOwned};
124#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
134struct std::hash<
edm4eic::MutableTrackClusterMatch> {
136 return std::hash<edm4eic::TrackClusterMatchObj*>{}(obj.m_obj.get());
Definition MutableCluster.h:41
Definition MutableTrackClusterMatch.h:36
friend void swap(MutableTrackClusterMatch &a, MutableTrackClusterMatch &b)
Definition MutableTrackClusterMatch.h:112
MutableTrackClusterMatch & operator=(MutableTrackClusterMatch other) &&=delete
MutableTrackClusterMatch & operator=(MutableTrackClusterMatch other) &
copy-assignment operator
Definition MutableTrackClusterMatch.cc:24
TrackClusterMatchCollection collection_type
Definition MutableTrackClusterMatch.h:44
MutableTrackClusterMatch(const MutableTrackClusterMatch &other)=default
copy constructor
void unlink()
disconnect from TrackClusterMatchObj instance
Definition MutableTrackClusterMatch.h:95
TrackClusterMatch object_type
Definition MutableTrackClusterMatch.h:43
void setTrack(const edm4eic::Track &value)
Set the reference to the track.
Definition MutableTrackClusterMatch.cc:63
bool operator!=(const TrackClusterMatch &other) const
Definition MutableTrackClusterMatch.h:101
friend class TrackClusterMatchMutableCollectionIterator
Definition MutableTrackClusterMatch.h:39
void setCluster(const edm4eic::Cluster &value)
Set the reference to the cluster.
Definition MutableTrackClusterMatch.cc:59
constexpr bool operator!=(const MutableTrackClusterMatch &other) const
Definition MutableTrackClusterMatch.h:100
friend class TrackClusterMatchCollection
Definition MutableTrackClusterMatch.h:38
const edm4eic::Track getTrack() const
Access the reference to the track.
Definition MutableTrackClusterMatch.cc:48
constexpr bool operator==(const MutableTrackClusterMatch &other) const
Definition MutableTrackClusterMatch.h:97
bool isAvailable() const
check whether the object is actually available
Definition MutableTrackClusterMatch.cc:73
podio::ObjectID id() const
Definition MutableTrackClusterMatch.h:106
const podio::ObjectID getObjectID() const
Definition MutableTrackClusterMatch.cc:77
friend class TrackClusterMatch
Definition MutableTrackClusterMatch.h:40
MutableTrackClusterMatch()=default
default constructor
bool operator<(const MutableTrackClusterMatch &other) const
Definition MutableTrackClusterMatch.h:104
float getWeight() const
Access the weight of this association.
Definition MutableTrackClusterMatch.cc:39
~MutableTrackClusterMatch()=default
destructor
MutableTrackClusterMatch clone(bool cloneRelations=true) const
Definition MutableTrackClusterMatch.cc:29
const edm4eic::Cluster getCluster() const
Access the reference to the cluster.
Definition MutableTrackClusterMatch.cc:41
void setWeight(const float weight)
Set the weight of this association.
Definition MutableTrackClusterMatch.cc:56
Definition MutableTrack.h:40
Definition TrackClusterMatchCollection.h:139
Definition TrackClusterMatch.h:44
Definition TrackClusterMatchObj.h:22
Definition ArrowMapper.cc:61
OrderKey getOrderKey(const edm4eic::CalorimeterHit &obj)
Definition CalorimeterHit.cc:146
std::size_t operator()(const edm4eic::MutableTrackClusterMatch &obj) const
Definition MutableTrackClusterMatch.h:135