3#ifndef EDM4EIC_MutableHadronicFinalState_H
4#define EDM4EIC_MutableHadronicFinalState_H
11#include "podio/RelationRange.h"
14#include "podio/utilities/MaybeSharedPtr.h"
19#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
20#include "nlohmann/json_fwd.hpp"
81 void setPT(
float value);
91 std::vector<edm4eic::ReconstructedParticle>::const_iterator
hadrons_begin()
const;
92 std::vector<edm4eic::ReconstructedParticle>::const_iterator
hadrons_end()
const;
93 podio::RelationRange<edm4eic::ReconstructedParticle>
getHadrons()
const;
100 void unlink() { m_obj = podio::utils::MaybeSharedPtr<HadronicFinalStateObj>{
nullptr}; }
114 swap(a.m_obj, b.m_obj);
121 podio::utils::MaybeSharedPtr<HadronicFinalStateObj> m_obj{
nullptr};
124#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
125void to_json(nlohmann::json& j,
const MutableHadronicFinalState& value);
Definition HadronicFinalStateCollection.h:95
Definition HadronicFinalState.h:33
Definition HadronicFinalStateCollection.h:66
Definition MutableHadronicFinalState.h:32
MutableHadronicFinalState()
default constructor
Definition MutableHadronicFinalState.cc:21
friend void swap(MutableHadronicFinalState &a, MutableHadronicFinalState &b)
Definition MutableHadronicFinalState.h:112
float getGamma() const
Access the Hadronic angle.
Definition MutableHadronicFinalState.cc:45
std::vector< edm4eic::ReconstructedParticle >::const_iterator hadrons_end() const
Definition MutableHadronicFinalState.cc:64
std::vector< edm4eic::ReconstructedParticle >::const_iterator hadrons_begin() const
Definition MutableHadronicFinalState.cc:58
float getSigma() const
Access the Longitudinal energy-momentum balance (aka E - pz)
Definition MutableHadronicFinalState.cc:43
void unlink()
disconnect from HadronicFinalStateObj instance
Definition MutableHadronicFinalState.h:100
bool isAvailable() const
check whether the object is actually available
Definition MutableHadronicFinalState.cc:94
bool operator==(const MutableHadronicFinalState &other) const
Definition MutableHadronicFinalState.h:102
bool operator<(const MutableHadronicFinalState &other) const
Definition MutableHadronicFinalState.h:106
MutableHadronicFinalState & operator=(MutableHadronicFinalState other)
copy-assignment operator
Definition MutableHadronicFinalState.cc:31
float getPT() const
Access the Transverse momentum.
Definition MutableHadronicFinalState.cc:44
friend class HadronicFinalState
Definition MutableHadronicFinalState.h:36
std::size_t hadrons_size() const
Definition MutableHadronicFinalState.cc:70
MutableHadronicFinalState clone() const
create a mutable deep-copy of the object with identical relations
Definition MutableHadronicFinalState.cc:36
podio::RelationRange< edm4eic::ReconstructedParticle > getHadrons() const
Definition MutableHadronicFinalState.cc:81
void setSigma(float value)
Set the Longitudinal energy-momentum balance (aka E - pz)
Definition MutableHadronicFinalState.cc:48
void setGamma(float value)
Set the Hadronic angle.
Definition MutableHadronicFinalState.cc:50
~MutableHadronicFinalState()=default
destructor
void addToHadrons(edm4eic::ReconstructedParticle)
Definition MutableHadronicFinalState.cc:53
podio::ObjectID id() const
Definition MutableHadronicFinalState.h:108
const podio::ObjectID getObjectID() const
Definition MutableHadronicFinalState.cc:101
void setPT(float value)
Set the Transverse momentum.
Definition MutableHadronicFinalState.cc:49
friend class HadronicFinalStateCollection
Definition MutableHadronicFinalState.h:34
MutableHadronicFinalState(const MutableHadronicFinalState &other)=default
copy constructor
Definition ReconstructedParticle.h:47
Definition CalorimeterHit.cc:18