File indexing completed on 2025-10-16 08:21:02
0001 #ifndef TRUTHNEUTRALMESON_H
0002 #define TRUTHNEUTRALMESON_H
0003
0004 #include <phool/PHObject.h>
0005 #include <array>
0006 #include <iostream>
0007
0008 class TruthNeutralMeson : public PHObject
0009 {
0010 public:
0011 TruthNeutralMeson() = default;
0012 virtual ~TruthNeutralMeson();
0013
0014 virtual int get_pid() const { return 0; }
0015 virtual void set_pid(int ) {}
0016
0017 virtual bool is_prompt() const { return true; }
0018 virtual void set_prompt(bool ) {}
0019
0020 virtual int get_parent_pid() const { return 0; }
0021 virtual void set_parent_pid(int ) {}
0022
0023 virtual bool mother_is_eta() const { return false; }
0024 virtual void set_mother_is_eta(bool ) {}
0025
0026 virtual float get_e() const { return 0; }
0027 virtual float get_pt() const { return 0; }
0028 virtual float get_eta() const { return 0; }
0029 virtual float get_phi() const { return 0; }
0030 virtual float get_p() const { return 0; }
0031
0032 virtual void set_e(float ) {}
0033 virtual void set_pt(float ) {}
0034 virtual void set_eta(float ) {}
0035 virtual void set_phi(float ) {}
0036 virtual void set_p(float ) {}
0037
0038 virtual int get_n_photons() const { return 0; }
0039
0040 virtual float get_photon_e(int ) const { return 0; }
0041 virtual float get_photon_pt(int ) const { return 0; }
0042 virtual float get_photon_eta(int ) const { return 0; }
0043 virtual float get_photon_phi(int ) const { return 0; }
0044 virtual float get_photon_p(int ) const { return 0; }
0045 virtual float get_photon_converted(int ) const { return false; }
0046
0047 virtual void add_photon(float e, float pt, float eta, float phi, float p, bool isconv)
0048 {
0049 (void) e;
0050 (void) pt;
0051 (void) eta;
0052 (void) phi;
0053 (void) p;
0054 (void) isconv;
0055 }
0056
0057 virtual bool is_diphoton() const { return get_n_photons() == 2; }
0058
0059 virtual bool is_eta_3pi0() const { return false; }
0060 virtual void set_eta_3pi0(bool ) {}
0061
0062 virtual bool is_eta_pi0pipm() const { return false; }
0063 virtual void set_eta_pi0pipm(bool ) {}
0064
0065 void Reset() override {}
0066 int isValid() const override { return 1; }
0067 PHObject* CloneMe() const override { return nullptr; }
0068 void identify(std::ostream& os = std::cout) const override { os << "TruthNeutralMeson base" << std::endl; }
0069
0070 protected:
0071 ClassDefOverride(TruthNeutralMeson, 1);
0072 };
0073
0074 #endif