// ESAF : Euso Simulation and Analysis Framework // contact person : Naoto SAKAKI // $Id: NaganoFluoCalculator.hh,v 1.10 2005/02/11 15:30:45 moreggia Exp $ #ifndef __NAGANOFLUOCALCULATOR_HH_ #define __NAGANOFLUOCALCULATOR_HH_ #include "euso.hh" #include "FluoCalculator.hh" #include #include // Calculation of Fluorescence Yield // [1] Nagano et al. Astroparticle Physics, 20 (2003) 293.(astro-ph/0303193) // [2] Nagano et al. astro-ph/0406474 (2004) // measurements of yield for 0.85MeV electrons class NaganoFluoCalculator : public FluoCalculator{ public: // ctor NaganoFluoCalculator(); // dtor virtual ~NaganoFluoCalculator(); // get ready for next event virtual void Reset() {} // get the wavelength spectrum of the fluorescence emission Double_t GetFluoYield(const Double_t alt, const Double_t energy, EsafSpectrum* FluoSpectrum=0) const; Double_t GetFluoYield_dE(const Double_t alt, const Double_t dE, EsafSpectrum* FluoSpectrum=0) const; // get the wavelength spectrum of the fluorescence emission for an energy distribution Double_t GetFluoYield(const Double_t alt, TF12* EnergyDistribution, EsafSpectrum* FluoSpectrum=0) const; // 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=0) const; // get the dEdX of an electron of energy NF_energy Double_t GetdEdX(const Double_t NF_energy) const; // get the dE //TOFIX : to be completed //Double_t GetdE(const Double_t NF_alt, const EsafSpectrum* FluoSpectrum) const; // plot yield void PlotYield(); private: TFormula* fNaganoFluo; const static Int_t fNumWavelengths; // 391nm and 428nm are 1N bands and others are 2P bands const static Double_t fWavelength[]; const static Double_t fPhi0[]; const static Double_t fRefPressure[]; ClassDef(NaganoFluoCalculator,0) }; #endif /* __NAGANOFLUOCALCULATOR_HH_ */