Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-07-03 08:34:34

0001 // AUTOMATICALLY GENERATED FILE - DO NOT EDIT
0002 
0003 #ifndef EDM4EIC_ReconstructedParticleOBJ_H
0004 #define EDM4EIC_ReconstructedParticleOBJ_H
0005 
0006 // data model specific includes
0007 #include "edm4eic/ReconstructedParticleData.h"
0008 #include "edm4eic/Cluster.h"
0009 #include "edm4eic/Track.h"
0010 #include "edm4hep/ParticleID.h"
0011 #include <vector>
0012 
0013 #include "podio/ObjectID.h"
0014 #include <vector>
0015 #include <memory>
0016 // forward declarations
0017 namespace edm4eic {
0018 class Vertex;
0019 }
0020 namespace edm4hep {
0021 class ParticleID;
0022 }
0023 
0024 
0025 namespace edm4eic {
0026 
0027 class ReconstructedParticle;
0028 
0029 class ReconstructedParticleObj {
0030 public:
0031   /// constructor
0032   ReconstructedParticleObj();
0033   /// copy constructor (does a deep-copy of relation containers)
0034   ReconstructedParticleObj(const ReconstructedParticleObj&);
0035   /// constructor from ObjectID and ReconstructedParticleData
0036   /// does not initialize the internal relation containers
0037   ReconstructedParticleObj(const podio::ObjectID id, ReconstructedParticleData data);
0038   /// No assignment operator
0039   ReconstructedParticleObj& operator=(const ReconstructedParticleObj&) = delete;
0040   virtual ~ReconstructedParticleObj();
0041 
0042 public:
0043   podio::ObjectID id;
0044   ReconstructedParticleData data;
0045   std::unique_ptr<edm4eic::Vertex> m_startVertex{nullptr};
0046   std::unique_ptr<edm4hep::ParticleID> m_particleIDUsed{nullptr};
0047   std::vector<edm4eic::Cluster>* m_clusters{nullptr};
0048   std::vector<edm4eic::Track>* m_tracks{nullptr};
0049   std::vector<edm4eic::ReconstructedParticle>* m_particles{nullptr};
0050   std::vector<edm4hep::ParticleID>* m_particleIDs{nullptr};
0051 };
0052 
0053 } // namespace edm4eic
0054 
0055 
0056 #endif