File indexing completed on 2025-07-05 08:52:25
0001
0002
0003 #ifndef EDM4EIC_CherenkovParticleIDOBJ_H
0004 #define EDM4EIC_CherenkovParticleIDOBJ_H
0005
0006
0007 #include "edm4eic/CherenkovParticleIDData.h"
0008 #include "edm4eic/CherenkovParticleIDHypothesis.h"
0009 #include "edm4eic/MCRecoTrackerHitAssociation.h"
0010 #include "edm4hep/Vector2f.h"
0011 #include <vector>
0012
0013 #include "podio/ObjectID.h"
0014 #include <vector>
0015 #include <memory>
0016
0017 namespace edm4eic {
0018 class TrackSegment;
0019 }
0020
0021
0022 namespace edm4eic {
0023
0024 class CherenkovParticleID;
0025
0026 class CherenkovParticleIDObj {
0027 public:
0028
0029 CherenkovParticleIDObj();
0030
0031 CherenkovParticleIDObj(const CherenkovParticleIDObj&);
0032
0033
0034 CherenkovParticleIDObj(const podio::ObjectID id, CherenkovParticleIDData data);
0035
0036 CherenkovParticleIDObj& operator=(const CherenkovParticleIDObj&) = delete;
0037 virtual ~CherenkovParticleIDObj();
0038
0039 public:
0040 podio::ObjectID id;
0041 CherenkovParticleIDData data;
0042 std::unique_ptr<edm4eic::TrackSegment> m_chargedParticle{nullptr};
0043 std::vector<edm4eic::MCRecoTrackerHitAssociation>* m_rawHitAssociations{nullptr};
0044 std::vector<edm4eic::CherenkovParticleIDHypothesis>* m_hypotheses{nullptr};
0045 std::vector<edm4hep::Vector2f>* m_thetaPhiPhotons{nullptr};
0046 };
0047
0048 }
0049
0050
0051 #endif