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"
83 [[deprecated(
"use getWeight instead")]]
98 void unlink() { m_obj = podio::utils::MaybeSharedPtr<TrackClusterMatchObj>{
nullptr}; }
113 friend std::hash<MutableTrackClusterMatch>;
117 swap(a.m_obj, b.m_obj);
124 podio::utils::MaybeSharedPtr<TrackClusterMatchObj> m_obj{
nullptr};
127#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
137struct std::hash<
edm4eic::MutableTrackClusterMatch> {
139 return std::hash<edm4eic::TrackClusterMatchObj*>{}(obj.m_obj.get());
Definition MutableCluster.h:40
Definition MutableTrackClusterMatch.h:36
friend void swap(MutableTrackClusterMatch &a, MutableTrackClusterMatch &b)
Definition MutableTrackClusterMatch.h:115
MutableTrackClusterMatch & operator=(MutableTrackClusterMatch other) &&=delete
MutableTrackClusterMatch & operator=(MutableTrackClusterMatch other) &
copy-assignment operator
Definition MutableTrackClusterMatch.cc:28
MutableTrackClusterMatch()
default constructor
Definition MutableTrackClusterMatch.cc:20
TrackClusterMatchCollection collection_type
Definition MutableTrackClusterMatch.h:44
MutableTrackClusterMatch(const MutableTrackClusterMatch &other)=default
copy constructor
void unlink()
disconnect from TrackClusterMatchObj instance
Definition MutableTrackClusterMatch.h:98
TrackClusterMatch object_type
Definition MutableTrackClusterMatch.h:43
void setTrack(const edm4eic::Track &value)
Set the reference to the track.
Definition MutableTrackClusterMatch.cc:68
bool operator!=(const TrackClusterMatch &other) const
Definition MutableTrackClusterMatch.h:104
friend class TrackClusterMatchMutableCollectionIterator
Definition MutableTrackClusterMatch.h:39
void setCluster(const edm4eic::Cluster &value)
Set the reference to the cluster.
Definition MutableTrackClusterMatch.cc:64
friend class TrackClusterMatchCollection
Definition MutableTrackClusterMatch.h:38
const edm4eic::Track getTrack() const
Access the reference to the track.
Definition MutableTrackClusterMatch.cc:52
bool isAvailable() const
check whether the object is actually available
Definition MutableTrackClusterMatch.cc:78
podio::ObjectID id() const
Definition MutableTrackClusterMatch.h:109
const podio::ObjectID getObjectID() const
Definition MutableTrackClusterMatch.cc:82
friend class TrackClusterMatch
Definition MutableTrackClusterMatch.h:40
bool operator!=(const MutableTrackClusterMatch &other) const
Definition MutableTrackClusterMatch.h:103
bool operator<(const MutableTrackClusterMatch &other) const
Definition MutableTrackClusterMatch.h:107
bool operator==(const MutableTrackClusterMatch &other) const
Definition MutableTrackClusterMatch.h:100
float getWeight() const
Access the weight of this association.
Definition MutableTrackClusterMatch.cc:43
~MutableTrackClusterMatch()=default
destructor
float & weight()
Get reference to weight of this association.
Definition MutableTrackClusterMatch.cc:62
MutableTrackClusterMatch clone(bool cloneRelations=true) const
Definition MutableTrackClusterMatch.cc:33
const edm4eic::Cluster getCluster() const
Access the reference to the cluster.
Definition MutableTrackClusterMatch.cc:45
void setWeight(const float weight)
Set the weight of this association.
Definition MutableTrackClusterMatch.cc:60
Definition MutableTrack.h:40
Definition TrackClusterMatchCollection.h:137
Definition TrackClusterMatch.h:44
Definition CalorimeterHit.cc:17
OrderKey getOrderKey(const edm4eic::CalorimeterHit &obj)
Definition CalorimeterHit.cc:150
std::size_t operator()(const edm4eic::MutableTrackClusterMatch &obj) const
Definition MutableTrackClusterMatch.h:138