// ESAF : Euso Simulation and Analysis Framework // $Id: CrkCalculator.hh,v 1.10 2005/09/09 11:20:43 moreggia Exp $ // Anne Stutz created Apr, 27 2004 // calcul the cerenkov light #ifndef __CRKCALCULATOR_HH_ #define __CRKCALCULATOR_HH_ #include "euso.hh" #include #include #include #include "EsafMsgSource.hh" class EsafSpectrum; class EarthVector; class CrkCalculator: public EsafMsgSource { public: // ctor CrkCalculator(); // dtor virtual ~CrkCalculator(); // get ready for next event virtual void Reset() = 0; // get the yield of the Cerenkov emission virtual Double_t GetCrkYield(const Double_t alt, const Double_t energy, Bool_t thr = true) const=0; // get the yield of the Cerenkov emission virtual Double_t GetCrkYield(const Double_t alt, TF12* EnergyDistribution) const=0; // get the yield of the Cerenkov emission virtual Double_t GetCrkYield(const Double_t alt, const TH1F* EnergyDistribution) const=0; // get the wavelenght spectrum of the cerenkov emission virtual EsafSpectrum* GetCrkSpectrum() const=0; // get the energy threshold virtual Double_t GetEnergyThreshold(const Double_t SC_alt) const =0; // Get methods inline string GetName() {return fName;} protected: string fName; ClassDef(CrkCalculator,0) }; #endif /* __CRKCALCULATOR_HH_ */