3#ifndef EDM4EIC_MCRecoCalorimeterHitAssociation_H 
    4#define EDM4EIC_MCRecoCalorimeterHitAssociation_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" 
   24class RawCalorimeterHit;
 
   25class MutableRawCalorimeterHit;
 
   26class SimCalorimeterHit;
 
   27class MutableSimCalorimeterHit;
 
   33OrderKey 
getOrderKey(
const edm4eic::MCRecoCalorimeterHitAssociation& obj);
 
   85  static constexpr std::string_view 
typeName = 
"edm4eic::MCRecoCalorimeterHitAssociation";
 
   92  const edm4hep::RawCalorimeterHit 
getRawHit() 
const;
 
   94  const edm4hep::SimCalorimeterHit 
getSimHit() 
const;
 
  101  void unlink() { m_obj = podio::utils::MaybeSharedPtr<MCRecoCalorimeterHitAssociationObj>{
nullptr}; }
 
  116  friend std::hash<MCRecoCalorimeterHitAssociation>;
 
  120    swap(a.m_obj, b.m_obj); 
 
 
  128  podio::utils::MaybeSharedPtr<MCRecoCalorimeterHitAssociationObj> m_obj{
nullptr};
 
 
  133#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__) 
  143struct std::hash<
edm4eic::MCRecoCalorimeterHitAssociation> {
 
  145    return std::hash<edm4eic::MCRecoCalorimeterHitAssociationObj*>{}(obj.m_obj.get());
 
 
 
  153#if defined(__clang__) 
  154#pragma clang diagnostic push 
  155#pragma clang diagnostic ignored "-Wunknown-warning-option" 
  156#pragma clang diagnostic ignored "-Wdeprecated-redundant-constexpr-static-def" 
  157#pragma clang diagnostic ignored "-Wdeprecated" 
  159#pragma clang diagnostic pop 
  160#elif defined(__GNUC__) 
  161#pragma GCC diagnostic push 
  162#pragma GCC diagnostic ignored "-Wdeprecated" 
  164#pragma GCC diagnostic pop 
Definition MCRecoCalorimeterHitAssociationCollectionData.h:32
Definition MCRecoCalorimeterHitAssociationCollection.h:137
Definition MCRecoCalorimeterHitAssociation.h:46
MutableMCRecoCalorimeterHitAssociation mutable_type
Definition MCRecoCalorimeterHitAssociation.h:55
bool operator!=(const MCRecoCalorimeterHitAssociation &other) const
Definition MCRecoCalorimeterHitAssociation.h:106
static constexpr std::string_view typeName
Definition MCRecoCalorimeterHitAssociation.h:85
bool operator<(const MCRecoCalorimeterHitAssociation &other) const
Definition MCRecoCalorimeterHitAssociation.h:110
bool isAvailable() const
check whether the object is actually available
Definition MCRecoCalorimeterHitAssociation.cc:81
void unlink()
disconnect from MCRecoCalorimeterHitAssociationObj instance
Definition MCRecoCalorimeterHitAssociation.h:101
MCRecoCalorimeterHitAssociation & operator=(MCRecoCalorimeterHitAssociation other) &
copy-assignment operator
Definition MCRecoCalorimeterHitAssociation.cc:30
bool operator==(const MCRecoCalorimeterHitAssociation &other) const
Definition MCRecoCalorimeterHitAssociation.h:103
bool operator!=(const MutableMCRecoCalorimeterHitAssociation &other) const
Definition MCRecoCalorimeterHitAssociation.h:107
MCRecoCalorimeterHitAssociation(const MCRecoCalorimeterHitAssociation &other)=default
copy constructor
friend void swap(MCRecoCalorimeterHitAssociation &a, MCRecoCalorimeterHitAssociation &b)
Definition MCRecoCalorimeterHitAssociation.h:118
MCRecoCalorimeterHitAssociation()
default constructor
Definition MCRecoCalorimeterHitAssociation.cc:22
MutableMCRecoCalorimeterHitAssociation clone(bool cloneRelations=true) const
Definition MCRecoCalorimeterHitAssociation.cc:35
const podio::ObjectID getObjectID() const
Definition MCRecoCalorimeterHitAssociation.cc:85
MCRecoCalorimeterHitAssociationCollection collection_type
Definition MCRecoCalorimeterHitAssociation.h:56
MCRecoCalorimeterHitAssociation & operator=(MCRecoCalorimeterHitAssociation other) &&=delete
const edm4hep::SimCalorimeterHit getSimHit() const
Access the reference to the simulated calorimeter hit.
Definition MCRecoCalorimeterHitAssociation.cc:69
const edm4hep::RawCalorimeterHit getRawHit() const
Access the reference to the digitized calorimeter hit.
Definition MCRecoCalorimeterHitAssociation.cc:62
podio::ObjectID id() const
Definition MCRecoCalorimeterHitAssociation.h:112
static MCRecoCalorimeterHitAssociation makeEmpty()
Definition MCRecoCalorimeterHitAssociation.cc:56
~MCRecoCalorimeterHitAssociation()=default
destructor
friend class MCRecoCalorimeterHitAssociationCollection
Definition MCRecoCalorimeterHitAssociation.h:49
friend class MCRecoCalorimeterHitAssociationCollectionIterator
Definition MCRecoCalorimeterHitAssociation.h:51
friend class MutableMCRecoCalorimeterHitAssociation
Definition MCRecoCalorimeterHitAssociation.h:48
float getWeight() const
Access the weight of this association.
Definition MCRecoCalorimeterHitAssociation.cc:60
Definition MCRecoCalorimeterHitAssociationObj.h:22
Definition MutableMCRecoCalorimeterHitAssociation.h:38
Definition CalorimeterHit.cc:17
std::ostream & operator<<(std::ostream &o, const CalorimeterHit &value)
Definition CalorimeterHit.cc:103
Definition CalorimeterHit.h:25
Definition CalorimeterHit.h:31
OrderKey getOrderKey(const edm4eic::CalorimeterHit &obj)
Definition CalorimeterHit.cc:150
std::size_t operator()(const edm4eic::MCRecoCalorimeterHitAssociation &obj) const
Definition MCRecoCalorimeterHitAssociation.h:144