#ifndef PHASIC__Main__Enhance_Observable_Base_H #define PHASIC__Main__Enhance_Observable_Base_H #include "ATOOLS/Org/Getter_Function.H" #include "ATOOLS/Phys/Flavour.H" #include "ATOOLS/Math/Vector.H" namespace PHASIC { class Process_Base; struct Enhance_Arguments { Process_Base *p_proc; std::string m_enhance; Enhance_Arguments(Process_Base *const proc=NULL, const std::string &enhance=""): p_proc(proc), m_enhance(enhance) {} };// end of class Enhance_Arguments class Enhance_Observable_Base { public: typedef ATOOLS::Getter_Function Getter_Function; protected: Process_Base *const p_proc; public: Enhance_Observable_Base(const Enhance_Arguments &args); virtual ~Enhance_Observable_Base(); virtual double operator()(const ATOOLS::Vec4D *p, const ATOOLS::Flavour *fl, const size_t n) = 0; };// end of class Enhance_Observable_Base }// end of namespace PHASIC #endif