Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:18:09

0001 // Tell emacs that this is a C++ source
0002 //  -*- C++ -*-.
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