File indexing completed on 2025-12-13 10:28:51
0001 #ifndef Analysis_Observables_Soft_Photon_Observables_H
0002 #define Analysis_Observables_Soft_Photon_Observables_H
0003
0004 #include "AddOns/Analysis/Observables/Primitive_Observable_Base.H"
0005
0006 namespace ANALYSIS {
0007
0008 class Soft_Photon_Observable_Base : public Primitive_Observable_Base {
0009 protected:
0010 bool f_special;
0011 std::vector<ATOOLS::Flavour> m_flavs;
0012 virtual void Evaluate(const ATOOLS::Particle_Vector&,
0013 const ATOOLS::Particle_Vector&,
0014 double=1.,double=1.) = 0;
0015 virtual void Evaluate(double,double=1.,double=1.);
0016 public:
0017 Soft_Photon_Observable_Base(const std::vector<ATOOLS::Flavour> &,
0018 int type, double xmin, double xmax, int nbins,
0019 const std::string& listname,
0020 const std::string& name);
0021 virtual void Evaluate(int nout, const ATOOLS::Vec4D *,
0022 const ATOOLS::Flavour *, double=1., double=1.);
0023 virtual void Evaluate(const ATOOLS::Particle_List & plist,
0024 double weight, double ncount);
0025 virtual void Evaluate(const ATOOLS::Blob_List & blobs, double weight,
0026 double ncount);
0027 };
0028
0029
0030
0031 class Soft_Photon_Energy : public Soft_Photon_Observable_Base {
0032 void Evaluate(const ATOOLS::Particle_Vector&,
0033 const ATOOLS::Particle_Vector&, double=1., double=1.);
0034 public:
0035 Soft_Photon_Energy(const std::vector<ATOOLS::Flavour>&,
0036 int type, double xmin, double xmax, int nbins,
0037 const std::string& listname);
0038 Primitive_Observable_Base* Copy() const;
0039 };
0040
0041 class Soft_Photon_Angle : public Soft_Photon_Observable_Base {
0042 void Evaluate(const ATOOLS::Particle_Vector&,
0043 const ATOOLS::Particle_Vector&, double=1., double=1.);
0044 public:
0045 Soft_Photon_Angle(const std::vector<ATOOLS::Flavour>&,
0046 int type, double xmin, double xmax, int nbins,
0047 const std::string& listname);
0048 Primitive_Observable_Base* Copy() const;
0049 };
0050
0051 }
0052 #endif