3#ifndef EDM4EIC_HadronicFinalState_H
4#define EDM4EIC_HadronicFinalState_H
9#include "podio/RelationRange.h"
12#include "podio/utilities/MaybeSharedPtr.h"
13#include "podio/detail/OrderKey.h"
18#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
19#include "nlohmann/json_fwd.hpp"
30OrderKey
getOrderKey(
const edm4eic::HadronicFinalState& obj);
82 static constexpr std::string_view
typeName =
"edm4eic::HadronicFinalState";
97 std::vector<edm4eic::ReconstructedParticle>::const_iterator
hadrons_begin()
const;
98 std::vector<edm4eic::ReconstructedParticle>::const_iterator
hadrons_end()
const;
99 podio::RelationRange<edm4eic::ReconstructedParticle>
getHadrons()
const;
105 void unlink() { m_obj = podio::utils::MaybeSharedPtr<HadronicFinalStateObj>{
nullptr}; }
120 friend std::hash<HadronicFinalState>;
124 swap(a.m_obj, b.m_obj);
132 podio::utils::MaybeSharedPtr<HadronicFinalStateObj> m_obj{
nullptr};
137#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
147struct std::hash<
edm4eic::HadronicFinalState> {
149 return std::hash<edm4eic::HadronicFinalStateObj*>{}(obj.m_obj.get());
157#if defined(__clang__)
158#pragma clang diagnostic push
159#pragma clang diagnostic ignored "-Wunknown-warning-option"
160#pragma clang diagnostic ignored "-Wdeprecated-redundant-constexpr-static-def"
161#pragma clang diagnostic ignored "-Wdeprecated"
163#pragma clang diagnostic pop
164#elif defined(__GNUC__)
165#pragma GCC diagnostic push
166#pragma GCC diagnostic ignored "-Wdeprecated"
168#pragma GCC diagnostic pop
Definition HadronicFinalStateCollectionData.h:31
Definition HadronicFinalStateCollection.h:137
Definition HadronicFinalState.h:43
HadronicFinalState()
default constructor
Definition HadronicFinalState.cc:20
static HadronicFinalState makeEmpty()
Definition HadronicFinalState.cc:61
bool operator!=(const HadronicFinalState &other) const
Definition HadronicFinalState.h:110
std::vector< edm4eic::ReconstructedParticle >::const_iterator hadrons_end() const
Definition HadronicFinalState.cc:77
HadronicFinalState(const HadronicFinalState &other)=default
copy constructor
bool isAvailable() const
check whether the object is actually available
Definition HadronicFinalState.cc:106
HadronicFinalStateCollection collection_type
Definition HadronicFinalState.h:53
friend class MutableHadronicFinalState
Definition HadronicFinalState.h:45
friend class HadronicFinalStateCollectionIterator
Definition HadronicFinalState.h:48
bool operator!=(const MutableHadronicFinalState &other) const
Definition HadronicFinalState.h:111
bool operator<(const HadronicFinalState &other) const
Definition HadronicFinalState.h:114
friend void swap(HadronicFinalState &a, HadronicFinalState &b)
Definition HadronicFinalState.h:122
static constexpr std::string_view typeName
Definition HadronicFinalState.h:82
float getGamma() const
Access the Hadronic angle.
Definition HadronicFinalState.cc:67
std::size_t hadrons_size() const
Definition HadronicFinalState.cc:83
MutableHadronicFinalState clone(bool cloneRelations=true) const
Definition HadronicFinalState.cc:35
bool operator==(const HadronicFinalState &other) const
Definition HadronicFinalState.h:107
~HadronicFinalState()=default
destructor
void unlink()
disconnect from HadronicFinalStateObj instance
Definition HadronicFinalState.h:105
std::vector< edm4eic::ReconstructedParticle >::const_iterator hadrons_begin() const
Definition HadronicFinalState.cc:71
float getPT() const
Access the Transverse momentum.
Definition HadronicFinalState.cc:66
float getSigma() const
Access the Longitudinal energy-momentum balance (aka E - pz)
Definition HadronicFinalState.cc:65
MutableHadronicFinalState mutable_type
Definition HadronicFinalState.h:52
podio::ObjectID id() const
Definition HadronicFinalState.h:116
friend class HadronicFinalStateCollection
Definition HadronicFinalState.h:46
HadronicFinalState & operator=(HadronicFinalState other) &&=delete
const podio::ObjectID getObjectID() const
Definition HadronicFinalState.cc:110
HadronicFinalState & operator=(HadronicFinalState other) &
copy-assignment operator
Definition HadronicFinalState.cc:30
podio::RelationRange< edm4eic::ReconstructedParticle > getHadrons() const
Definition HadronicFinalState.cc:94
Definition HadronicFinalStateObj.h:20
Definition MutableHadronicFinalState.h:35
Definition ReconstructedParticle.h:54
Definition CalorimeterHit.cc:17
std::ostream & operator<<(std::ostream &o, const CalorimeterHit &value)
Definition CalorimeterHit.cc:103
Definition CalorimeterHit.h:31
OrderKey getOrderKey(const edm4eic::CalorimeterHit &obj)
Definition CalorimeterHit.cc:150
std::size_t operator()(const edm4eic::HadronicFinalState &obj) const
Definition HadronicFinalState.h:148