3#ifndef EDM4EIC_MutableHadronicFinalState_H
4#define EDM4EIC_MutableHadronicFinalState_H
11#include "podio/RelationRange.h"
14#include "podio/utilities/MaybeSharedPtr.h"
18#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
19#include "nlohmann/json_fwd.hpp"
84 [[deprecated(
"use getSigma instead")]]
92 [[deprecated(
"use getPT instead")]]
100 [[deprecated(
"use getGamma instead")]]
108 std::vector<edm4eic::ReconstructedParticle>::const_iterator
hadrons_begin()
const;
109 std::vector<edm4eic::ReconstructedParticle>::const_iterator
hadrons_end()
const;
110 podio::RelationRange<edm4eic::ReconstructedParticle>
getHadrons()
const;
117 void unlink() { m_obj = podio::utils::MaybeSharedPtr<HadronicFinalStateObj>{
nullptr}; }
132 friend std::hash<MutableHadronicFinalState>;
136 swap(a.m_obj, b.m_obj);
143 podio::utils::MaybeSharedPtr<HadronicFinalStateObj> m_obj{
nullptr};
146#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
156struct std::hash<
edm4eic::MutableHadronicFinalState> {
158 return std::hash<edm4eic::HadronicFinalStateObj*>{}(obj.m_obj.get());
Definition HadronicFinalStateCollection.h:137
Definition HadronicFinalState.h:43
Definition MutableHadronicFinalState.h:35
float & sigma()
Get reference to Longitudinal energy-momentum balance (aka E - pz)
Definition MutableHadronicFinalState.cc:53
float & pT()
Get reference to Transverse momentum.
Definition MutableHadronicFinalState.cc:56
bool operator!=(const HadronicFinalState &other) const
Definition MutableHadronicFinalState.h:123
MutableHadronicFinalState()
default constructor
Definition MutableHadronicFinalState.cc:18
friend void swap(MutableHadronicFinalState &a, MutableHadronicFinalState &b)
Definition MutableHadronicFinalState.h:134
float getGamma() const
Access the Hadronic angle.
Definition MutableHadronicFinalState.cc:48
std::vector< edm4eic::ReconstructedParticle >::const_iterator hadrons_end() const
Definition MutableHadronicFinalState.cc:73
void setSigma(const float sigma)
Set the Longitudinal energy-momentum balance (aka E - pz)
Definition MutableHadronicFinalState.cc:51
std::vector< edm4eic::ReconstructedParticle >::const_iterator hadrons_begin() const
Definition MutableHadronicFinalState.cc:67
float getSigma() const
Access the Longitudinal energy-momentum balance (aka E - pz)
Definition MutableHadronicFinalState.cc:46
void addToHadrons(const edm4eic::ReconstructedParticle &)
Definition MutableHadronicFinalState.cc:62
void unlink()
disconnect from HadronicFinalStateObj instance
Definition MutableHadronicFinalState.h:117
bool isAvailable() const
check whether the object is actually available
Definition MutableHadronicFinalState.cc:103
bool operator==(const MutableHadronicFinalState &other) const
Definition MutableHadronicFinalState.h:119
bool operator<(const MutableHadronicFinalState &other) const
Definition MutableHadronicFinalState.h:126
float getPT() const
Access the Transverse momentum.
Definition MutableHadronicFinalState.cc:47
friend class HadronicFinalState
Definition MutableHadronicFinalState.h:39
std::size_t hadrons_size() const
Definition MutableHadronicFinalState.cc:79
float & gamma()
Get reference to Hadronic angle.
Definition MutableHadronicFinalState.cc:59
podio::RelationRange< edm4eic::ReconstructedParticle > getHadrons() const
Definition MutableHadronicFinalState.cc:90
MutableHadronicFinalState clone(bool cloneRelations=true) const
Definition MutableHadronicFinalState.cc:33
~MutableHadronicFinalState()=default
destructor
HadronicFinalStateCollection collection_type
Definition MutableHadronicFinalState.h:43
MutableHadronicFinalState & operator=(MutableHadronicFinalState other) &&=delete
podio::ObjectID id() const
Definition MutableHadronicFinalState.h:128
const podio::ObjectID getObjectID() const
Definition MutableHadronicFinalState.cc:107
bool operator!=(const MutableHadronicFinalState &other) const
Definition MutableHadronicFinalState.h:122
friend class HadronicFinalStateMutableCollectionIterator
Definition MutableHadronicFinalState.h:38
friend class HadronicFinalStateCollection
Definition MutableHadronicFinalState.h:37
void setPT(const float pT)
Set the Transverse momentum.
Definition MutableHadronicFinalState.cc:54
MutableHadronicFinalState & operator=(MutableHadronicFinalState other) &
copy-assignment operator
Definition MutableHadronicFinalState.cc:28
MutableHadronicFinalState(const MutableHadronicFinalState &other)=default
copy constructor
void setGamma(const float gamma)
Set the Hadronic angle.
Definition MutableHadronicFinalState.cc:57
HadronicFinalState object_type
Definition MutableHadronicFinalState.h:42
Definition ReconstructedParticle.h:54
Definition CalorimeterHit.cc:17
OrderKey getOrderKey(const edm4eic::CalorimeterHit &obj)
Definition CalorimeterHit.cc:150
std::size_t operator()(const edm4eic::MutableHadronicFinalState &obj) const
Definition MutableHadronicFinalState.h:157