File indexing completed on 2025-08-05 08:18:09
0001
0002
0003 #ifndef G4MAIN_PHG4PARTICLEV2_H
0004 #define G4MAIN_PHG4PARTICLEV2_H
0005
0006 #include "PHG4Particlev1.h"
0007
0008 #include <iostream>
0009 #include <limits>
0010 #include <string>
0011
0012 class PHG4Particle;
0013
0014 class PHG4Particlev2 : public PHG4Particlev1
0015 {
0016 public:
0017 PHG4Particlev2() = default;
0018 PHG4Particlev2(const std::string &name, const int pid, const double px, const double py, const double pz);
0019 PHG4Particlev2(const PHG4Particle *in);
0020
0021 ~PHG4Particlev2() override = default;
0022
0023 PHObject *CloneMe() const override { return new PHG4Particlev2(*this); }
0024 void identify(std::ostream &os = std::cout) const override;
0025
0026 int get_track_id() const override { return trkid; }
0027 int get_vtx_id() const override { return vtxid; }
0028 int get_parent_id() const override { return parentid; }
0029 int get_primary_id() const override { return primaryid; }
0030 double get_e() const override { return fe; }
0031
0032 void set_track_id(const int i) override { trkid = i; }
0033 void set_vtx_id(const int i) override { vtxid = i; }
0034 void set_parent_id(const int i) override { parentid = i; }
0035 void set_primary_id(const int i) override { primaryid = i; }
0036 void set_e(const double e) override { fe = e; }
0037
0038 protected:
0039 int trkid{0};
0040 int vtxid{0};
0041 int parentid{0};
0042 int primaryid{std::numeric_limits<int>::min()};
0043 double fe{0};
0044
0045 ClassDefOverride(PHG4Particlev2, 2)
0046 };
0047
0048 #endif