EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PHG4Particle.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file PHG4Particle.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 #ifndef G4MAIN_PHG4PARTICLE_H
4 #define G4MAIN_PHG4PARTICLE_H
5 
6 #include <phool/PHObject.h>
7 
8 #include <cmath>
9 #include <iostream>
10 #include <string>
11 
12 class PHG4Particle : public PHObject
13 {
14  public:
16  ~PHG4Particle() override {}
17 
18  void identify(std::ostream &os = std::cout) const override;
19 
20 
21  virtual bool isIon() const { return false; }
22  virtual int get_pid() const { return 0; }
23  virtual std::string get_name() const { return "NONE"; }
24  virtual double get_px() const { return NAN; }
25  virtual double get_py() const { return NAN; }
26  virtual double get_pz() const { return NAN; }
27  virtual double get_e() const { return NAN; }
28 
29  virtual int get_track_id() const { return -9999; }
30  virtual int get_vtx_id() const { return -9999; }
31  virtual int get_parent_id() const { return -9999; }
32  virtual int get_primary_id() const { return 0xFFFFFFFF; }
33 
34  virtual int get_barcode() const { return 0xFFFFFFFF; }
35 
36  virtual int get_A() const { return 0xFFFFFFFF; }
37  virtual int get_Z() const { return 0xFFFFFFFF; }
38  virtual double get_IonCharge() const { return NAN; }
39  virtual double get_ExcitEnergy() const { return NAN; }
40 
41  virtual void set_track_id(const int) { return; }
42  virtual void set_vtx_id(const int) { return; }
43  virtual void set_parent_id(const int) { return; }
44  virtual void set_primary_id(const int) { return; }
45  virtual void set_name(const std::string &) { return; }
46  virtual void set_pid(const int) { return; }
47  virtual void set_px(const double) { return; }
48  virtual void set_py(const double) { return; }
49  virtual void set_pz(const double) { return; }
50  virtual void set_e(const double) { return; }
51 
52  virtual void set_barcode(const int) { return; }
53 
54  virtual void set_A(const int) { return; }
55  virtual void set_Z(const int) { return; }
56  virtual void set_NumCharge(const int) { return; }
57  virtual void set_IonCharge(const double) { return; }
58  virtual void set_ExcitEnergy(const double) { return; }
59 
60  bool operator==(const PHG4Particle &p) const;
61 
62  protected:
63  ClassDefOverride(PHG4Particle, 1)
64 };
65 
66 #endif // G4MAIN_PHG4PARTICLE_H