Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-10-16 08:21:02

0001 #ifndef TRUTHNEUTRALMESONV1_H
0002 #define TRUTHNEUTRALMESONV1_H
0003 
0004 #include <array>
0005 #include "TruthNeutralMeson.h"
0006 
0007 class TruthNeutralMesonv1 : public TruthNeutralMeson
0008 {
0009  public:
0010   TruthNeutralMesonv1() = default;
0011   ~TruthNeutralMesonv1() override = default;
0012 
0013   int get_pid() const override { return m_pid; }
0014   void set_pid(int pid) override { m_pid = pid; }
0015 
0016   bool is_prompt() const override { return m_is_prompt; }
0017   void set_prompt(bool isprompt) override { m_is_prompt = isprompt; }
0018 
0019   int get_parent_pid() const override { return m_parent_pid; }
0020   void set_parent_pid(int pid) override { m_parent_pid = pid; }
0021 
0022   bool mother_is_eta() const override { return m_mother_is_eta; }
0023   void set_mother_is_eta(bool ismothereta) override { m_mother_is_eta = ismothereta; }
0024 
0025   float get_e() const override { return m_e; }
0026   float get_pt() const override { return m_pt; }
0027   float get_eta() const override { return m_eta; }
0028   float get_phi() const override { return m_phi; }
0029   float get_p() const override { return m_p; }
0030 
0031   void set_e(float val) override { m_e = val; }
0032   void set_pt(float val) override { m_pt = val; }
0033   void set_eta(float val) override { m_eta = val; }
0034   void set_phi(float val) override { m_phi = val; }
0035   void set_p(float val) override { m_p = val; }
0036 
0037   int get_n_photons() const override { return m_n_photons; }
0038   float get_photon_e(int i) const override { return (i >= 0 && i < m_n_photons) ? m_photon_e[i] : 0; }
0039   float get_photon_pt(int i) const override { return (i >= 0 && i < m_n_photons) ? m_photon_pt[i] : 0; }
0040   float get_photon_eta(int i) const override { return (i >= 0 && i < m_n_photons) ? m_photon_eta[i] : 0; }
0041   float get_photon_phi(int i) const override { return (i >= 0 && i < m_n_photons) ? m_photon_phi[i] : 0; }
0042   float get_photon_p(int i) const override { return (i >= 0 && i < m_n_photons) ? m_photon_p[i] : 0; }
0043   float get_photon_converted(int i) const override { return (i >= 0 && i < m_n_photons) ? m_photon_converted[i] : false; }
0044 
0045   void add_photon(float e, float pt, float eta, float phi, float p, bool isconv) override;
0046 
0047   bool is_eta_3pi0() const override { return m_is_eta_3pi0; }
0048   void set_eta_3pi0(bool isdecay) override { m_is_eta_3pi0 = isdecay; }
0049 
0050   bool is_eta_pi0pipm() const override { return m_is_eta_pi0pipm; }
0051   void set_eta_pi0pipm(bool isdecay) override { m_is_eta_pi0pipm = isdecay; }
0052 
0053   void identify(std::ostream& os = std::cout) const override;
0054   PHObject* CloneMe() const override { return new TruthNeutralMesonv1(*this); }
0055   void Reset() override;
0056   int isValid() const override { return 1; }
0057 
0058  private:
0059   bool m_is_eta_3pi0{false};
0060   bool m_is_eta_pi0pipm{false};
0061   bool m_is_prompt{true};
0062   bool m_mother_is_eta{false};
0063 
0064   int m_pid{0};
0065   int m_parent_pid{0};
0066 
0067   float m_e{0};
0068   float m_eta{0};
0069   float m_p{0};
0070   float m_phi{0};
0071   float m_pt{0};
0072 
0073   int m_n_photons{0};
0074   std::array<float, 2> m_photon_e{{0, 0}};
0075   std::array<float, 2> m_photon_eta{{0, 0}};
0076   std::array<float, 2> m_photon_p{{0, 0}};
0077   std::array<float, 2> m_photon_phi{{0, 0}};
0078   std::array<float, 2> m_photon_pt{{0, 0}};
0079   std::array<bool, 2> m_photon_converted{{false, false}};
0080 
0081   ClassDefOverride(TruthNeutralMesonv1, 1);
0082 };
0083 
0084 #endif