Back to home page

sPhenix code displayed by LXR

 
 

    


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 /*unused*/) {}
0016 
0017   virtual bool is_prompt() const { return true; }
0018   virtual void set_prompt(bool /*unused*/) {}
0019 
0020   virtual int get_parent_pid() const { return 0; }
0021   virtual void set_parent_pid(int /*unused*/) {}
0022 
0023   virtual bool mother_is_eta() const { return false; }
0024   virtual void set_mother_is_eta(bool /*unused*/) {}
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 /*unused*/) {}
0033   virtual void set_pt(float /*unused*/) {}
0034   virtual void set_eta(float /*unused*/) {}
0035   virtual void set_phi(float /*unused*/) {}
0036   virtual void set_p(float /*unused*/) {}
0037 
0038   virtual int get_n_photons() const { return 0; }
0039 
0040   virtual float get_photon_e(int /*unused*/) const { return 0; }
0041   virtual float get_photon_pt(int /*unused*/) const { return 0; }
0042   virtual float get_photon_eta(int /*unused*/) const { return 0; }
0043   virtual float get_photon_phi(int /*unused*/) const { return 0; }
0044   virtual float get_photon_p(int /*unused*/) const { return 0; }
0045   virtual float get_photon_converted(int /*unused*/) 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 /*unused*/) {}
0061 
0062   virtual bool is_eta_pi0pipm() const { return false; }
0063   virtual void set_eta_pi0pipm(bool /*unused*/) {}
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