File indexing completed on 2025-08-05 08:16:00
0001 #ifndef PHHEPMC_PHHEPMCEVENTv1_H
0002 #define PHHEPMC_PHHEPMCEVENTv1_H
0003
0004 #include "PHHepMCGenEvent.h"
0005
0006 class PHHepMCGenEventv1 : public PHHepMCGenEvent
0007 {
0008 public:
0009 PHHepMCGenEventv1();
0010
0011 PHHepMCGenEventv1(const PHHepMCGenEventv1& event);
0012 PHHepMCGenEventv1& operator=(const PHHepMCGenEventv1& event);
0013 ~PHHepMCGenEventv1() override;
0014
0015 void identify(std::ostream& os = std::cout) const override;
0016 void Reset() override;
0017 int isValid() const override
0018 {
0019 PHOOL_VIRTUAL_WARNING;
0020 return 0;
0021 }
0022 PHObject* CloneMe() const override { return new PHHepMCGenEventv1(*this); }
0023
0024
0025 const HepMC::ThreeVector& get_boost_beta_vector() const final { return m_boost_beta_vector; }
0026
0027
0028 void set_boost_beta_vector(const HepMC::ThreeVector& v) final { m_boost_beta_vector = v; }
0029
0030
0031 const HepMC::ThreeVector& get_rotation_vector() const final { return m_rotation_vector; }
0032
0033
0034 void set_rotation_vector(const HepMC::ThreeVector& v) final { m_rotation_vector = v; }
0035
0036
0037 double get_rotation_angle() const final { return m_rotation_angle; }
0038
0039
0040 void set_rotation_angle(const double a) final { m_rotation_angle = a; }
0041
0042
0043 CLHEP::HepLorentzRotation get_LorentzRotation_EvtGen2Lab() const final;
0044
0045
0046 CLHEP::HepLorentzRotation get_LorentzRotation_Lab2EvtGen() const final;
0047
0048 protected:
0049
0050 HepMC::ThreeVector m_boost_beta_vector;
0051
0052
0053 HepMC::ThreeVector m_rotation_vector;
0054
0055
0056 double m_rotation_angle;
0057
0058 ClassDefOverride(PHHepMCGenEventv1, 1)
0059 };
0060
0061 #endif