// $Id: N2dataFluoCalculator.hh,v 1.1 2005/07/13 10:59:06 berat Exp $ // Author: Berat 2005/01/10 /***************************************************************************** * ESAF: Euso Simulation and Analysis Framework * * * * Id: N2dataFluoCalculator * * Package: * * Coordinator: * * * *****************************************************************************/ #ifndef __N2DATAFLUOCALCULATOR_HH__ #define __N2DATAFLUOCALCULATOR_HH__ #include "euso.hh" #include "FluoCalculator.hh" #include #include //////////////////////////////////////////////////////////////////////////////// // // // N2dataFluoCalculator // // // // Compute fluorescence yield // // // //////////////////////////////////////////////////////////////////////////////// class N2dataFluoCalculator : public FluoCalculator { public: //ctor N2dataFluoCalculator(); //dtor virtual ~N2dataFluoCalculator(); // set fluoo lines void SetFluoLines(); // 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; // 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 data necessary to compute collision quenching void collision_quench_input(TString typ, Double_t *pcol2p, Double_t *pcol1n) const; //get the yield Double_t yield(Double_t p, Double_t T, TString flag, Int_t n, Double_t *pcol2p, Double_t *pcol1n, Double_t Tmes) const; // void quench2p(Double_t p0,Double_t z,Double_t T, TString atm, Double_t &quench) const; void quench1n(Double_t p0,Double_t z,Double_t T, TString atm, Double_t &quench) const; Double_t hum(Double_t z, TString atm) const; //get the dEdX of an electron of energy N2_energy Double_t GetdEdX(const Double_t N2_energy) const; /* // get the dE Double_t GetdE(const Double_t NF_alt, const EsafSpectrum* FluoSpectrum) const; // plot yield void PlotYield(); */ private: TFormula* fN2dataFluo; Int_t fN2Wavelengths; // 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[]; Double_t fWlim[2]; Double_t fL2p[5][10]; Double_t fW2p[5][10]; Double_t fL1n[5][10]; Double_t fW1n[5][10]; double* fLines; ClassDef(N2dataFluoCalculator,0) }; #endif /* __N2DATAFLUOCALCULATOR_HH__ */