3#ifndef EDM4EIC_InclusiveKinematics_H
4#define EDM4EIC_InclusiveKinematics_H
9#include "podio/utilities/MaybeSharedPtr.h"
10#include "podio/detail/OrderKey.h"
15#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
16#include "nlohmann/json_fwd.hpp"
29OrderKey
getOrderKey(
const edm4eic::InclusiveKinematics& obj);
58 InclusiveKinematics(
const float x,
const float Q2,
const float W,
const float y,
const float nu);
81 static constexpr std::string_view
typeName =
"edm4eic::InclusiveKinematics";
107 void unlink() { m_obj = podio::utils::MaybeSharedPtr<InclusiveKinematicsObj>{
nullptr}; }
122 friend std::hash<InclusiveKinematics>;
126 swap(a.m_obj, b.m_obj);
134 podio::utils::MaybeSharedPtr<InclusiveKinematicsObj> m_obj{
nullptr};
139#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
149struct std::hash<
edm4eic::InclusiveKinematics> {
151 return std::hash<edm4eic::InclusiveKinematicsObj*>{}(obj.m_obj.get());
159#if defined(__clang__)
160#pragma clang diagnostic push
161#pragma clang diagnostic ignored "-Wunknown-warning-option"
162#pragma clang diagnostic ignored "-Wdeprecated-redundant-constexpr-static-def"
163#pragma clang diagnostic ignored "-Wdeprecated"
165#pragma clang diagnostic pop
166#elif defined(__GNUC__)
167#pragma GCC diagnostic push
168#pragma GCC diagnostic ignored "-Wdeprecated"
170#pragma GCC diagnostic pop
Definition InclusiveKinematicsCollectionData.h:31
Definition InclusiveKinematicsCollection.h:137
Definition InclusiveKinematics.h:42
friend class InclusiveKinematicsCollectionIterator
Definition InclusiveKinematics.h:47
InclusiveKinematicsCollection collection_type
Definition InclusiveKinematics.h:52
friend void swap(InclusiveKinematics &a, InclusiveKinematics &b)
Definition InclusiveKinematics.h:124
InclusiveKinematics(const InclusiveKinematics &other)=default
copy constructor
bool operator!=(const MutableInclusiveKinematics &other) const
Definition InclusiveKinematics.h:113
InclusiveKinematics & operator=(InclusiveKinematics other) &&=delete
float getY() const
Access the Inelasticity (P.q/P.k)
Definition InclusiveKinematics.cc:63
float getX() const
Access the Bjorken x (Q2/2P.q)
Definition InclusiveKinematics.cc:60
float getW() const
Access the Invariant mass of final state [GeV].
Definition InclusiveKinematics.cc:62
friend class InclusiveKinematicsCollection
Definition InclusiveKinematics.h:45
static constexpr std::string_view typeName
Definition InclusiveKinematics.h:81
InclusiveKinematics()
default constructor
Definition InclusiveKinematics.cc:21
float getQ2() const
Access the Four-momentum transfer squared [GeV^2].
Definition InclusiveKinematics.cc:61
const edm4eic::ReconstructedParticle getScat() const
Access the Associated scattered electron (if identified)
Definition InclusiveKinematics.cc:66
bool isAvailable() const
check whether the object is actually available
Definition InclusiveKinematics.cc:78
bool operator!=(const InclusiveKinematics &other) const
Definition InclusiveKinematics.h:112
friend class MutableInclusiveKinematics
Definition InclusiveKinematics.h:44
float getNu() const
Access the Energy transfer P.q/M [GeV].
Definition InclusiveKinematics.cc:64
InclusiveKinematics & operator=(InclusiveKinematics other) &
copy-assignment operator
Definition InclusiveKinematics.cc:33
static InclusiveKinematics makeEmpty()
Definition InclusiveKinematics.cc:56
MutableInclusiveKinematics clone(bool cloneRelations=true) const
Definition InclusiveKinematics.cc:38
void unlink()
disconnect from InclusiveKinematicsObj instance
Definition InclusiveKinematics.h:107
bool operator<(const InclusiveKinematics &other) const
Definition InclusiveKinematics.h:116
podio::ObjectID id() const
Definition InclusiveKinematics.h:118
bool operator==(const InclusiveKinematics &other) const
Definition InclusiveKinematics.h:109
const podio::ObjectID getObjectID() const
Definition InclusiveKinematics.cc:82
~InclusiveKinematics()=default
destructor
MutableInclusiveKinematics mutable_type
Definition InclusiveKinematics.h:51
Definition InclusiveKinematicsObj.h:21
Definition MutableInclusiveKinematics.h:34
Definition MutableReconstructedParticle.h:46
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::InclusiveKinematics &obj) const
Definition InclusiveKinematics.h:150