// ESAF : Euso Simulation and Analysis Framework // $Id: FluoCalculator.hh,v 1.11 2005/01/24 09:23:59 moreggia Exp $ // Anne Stutz created Mar, 23 2004 #ifndef __FLUOCALCULATOR_HH_ #define __FLUOCALCULATOR_HH_ #include "euso.hh" #include #include #include #include "EsafMsgSource.hh" class EsafSpectrum; class FluoCalculator: public EsafMsgSource { public: // ctor FluoCalculator(); // dtor virtual ~FluoCalculator(); // get ready for next event virtual void Reset() = 0; // get the wavelenght spectrum of the fluorescence emission virtual Double_t GetFluoYield(const Double_t alt, const Double_t energy, EsafSpectrum* FluoSpectrum) const=0; // get the wavelenght spectrum of the fluorescence emission for an energy distribution virtual Double_t GetFluoYield(const Double_t alt, TF12* EnergyDistribution, EsafSpectrum* FluoSpectrum) const=0; // get the wavelenght spectrum of the fluorescence emission for an energy distribution virtual Double_t GetFluoYieldHisto(const Double_t alt, const TH1F* EnergyDistribution, EsafSpectrum* FluoSpectrum) const=0; // Get methods inline string GetName() {return fName;} protected: string fName; ClassDef(FluoCalculator,0) }; #endif /* __FLUOCALCULATOR_HH_ */