3#ifndef EDM4EIC_MutableTrackProtoClusterMatch_H
4#define EDM4EIC_MutableTrackProtoClusterMatch_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<TrackProtoClusterMatchObj>{
nullptr}; }
113 friend std::hash<MutableTrackProtoClusterMatch>;
117 swap(a.m_obj, b.m_obj);
124 podio::utils::MaybeSharedPtr<TrackProtoClusterMatchObj> m_obj{
nullptr};
127#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
137struct std::hash<
edm4eic::MutableTrackProtoClusterMatch> {
139 return std::hash<edm4eic::TrackProtoClusterMatchObj*>{}(obj.m_obj.get());
Definition MutableProtoCluster.h:35
Definition MutableTrack.h:40
Definition MutableTrackProtoClusterMatch.h:36
bool operator!=(const MutableTrackProtoClusterMatch &other) const
Definition MutableTrackProtoClusterMatch.h:103
~MutableTrackProtoClusterMatch()=default
destructor
MutableTrackProtoClusterMatch()
default constructor
Definition MutableTrackProtoClusterMatch.cc:20
friend class TrackProtoClusterMatch
Definition MutableTrackProtoClusterMatch.h:40
bool isAvailable() const
check whether the object is actually available
Definition MutableTrackProtoClusterMatch.cc:78
TrackProtoClusterMatchCollection collection_type
Definition MutableTrackProtoClusterMatch.h:44
friend class TrackProtoClusterMatchMutableCollectionIterator
Definition MutableTrackProtoClusterMatch.h:39
float getWeight() const
Access the weight of this association.
Definition MutableTrackProtoClusterMatch.cc:43
const edm4eic::Track getFrom() const
Access the reference to the track.
Definition MutableTrackProtoClusterMatch.cc:45
podio::ObjectID id() const
Definition MutableTrackProtoClusterMatch.h:109
MutableTrackProtoClusterMatch(const MutableTrackProtoClusterMatch &other)=default
copy constructor
MutableTrackProtoClusterMatch & operator=(MutableTrackProtoClusterMatch other) &&=delete
TrackProtoClusterMatch object_type
Definition MutableTrackProtoClusterMatch.h:43
bool operator<(const MutableTrackProtoClusterMatch &other) const
Definition MutableTrackProtoClusterMatch.h:107
MutableTrackProtoClusterMatch & operator=(MutableTrackProtoClusterMatch other) &
copy-assignment operator
Definition MutableTrackProtoClusterMatch.cc:28
float & weight()
Get reference to weight of this association.
Definition MutableTrackProtoClusterMatch.cc:62
void setWeight(const float weight)
Set the weight of this association.
Definition MutableTrackProtoClusterMatch.cc:60
void setTo(const edm4eic::ProtoCluster &value)
Set the reference to the protocluster.
Definition MutableTrackProtoClusterMatch.cc:68
bool operator!=(const TrackProtoClusterMatch &other) const
Definition MutableTrackProtoClusterMatch.h:104
void unlink()
disconnect from TrackProtoClusterMatchObj instance
Definition MutableTrackProtoClusterMatch.h:98
friend class TrackProtoClusterMatchCollection
Definition MutableTrackProtoClusterMatch.h:38
bool operator==(const MutableTrackProtoClusterMatch &other) const
Definition MutableTrackProtoClusterMatch.h:100
MutableTrackProtoClusterMatch clone(bool cloneRelations=true) const
Definition MutableTrackProtoClusterMatch.cc:33
const edm4eic::ProtoCluster getTo() const
Access the reference to the protocluster.
Definition MutableTrackProtoClusterMatch.cc:52
void setFrom(const edm4eic::Track &value)
Set the reference to the track.
Definition MutableTrackProtoClusterMatch.cc:64
const podio::ObjectID getObjectID() const
Definition MutableTrackProtoClusterMatch.cc:82
friend void swap(MutableTrackProtoClusterMatch &a, MutableTrackProtoClusterMatch &b)
Definition MutableTrackProtoClusterMatch.h:115
Definition ProtoCluster.h:43
Definition TrackProtoClusterMatchCollection.h:137
Definition TrackProtoClusterMatch.h:44
Definition CalorimeterHit.cc:17
OrderKey getOrderKey(const edm4eic::CalorimeterHit &obj)
Definition CalorimeterHit.cc:150
std::size_t operator()(const edm4eic::MutableTrackProtoClusterMatch &obj) const
Definition MutableTrackProtoClusterMatch.h:138