/** \file Declaration of ConstantFluorescenceModel \author Luis Prado Jr. \version $Id$ \date 27 Jan 2004 */ #ifndef _atm_ConstantFluorescenceModel_h_ #define _atm_ConstantFluorescenceModel_h_ static const char CVSId_atm_ConstantFluorescenceModel[] = "$Id$"; #include #include namespace utl{class TabulatedFunction;} namespace atm { /** \class ConstantFluorescenceModel ConstantFluorescenceModel.h "atm/ConstantFluorescenceModel.h" \brief Model with constant fluorescence yield The present model can be used with different fluorescence spectra. The total amount of photons/meter emitted by a charged particle is parsed via the model datacard. \author Luis Prado Jr \date Jan 2004 \ingroup atm_models */ class ConstantFluorescenceModel : public atm::VFluorescenceModel{ public: ConstantFluorescenceModel(){}; virtual ~ConstantFluorescenceModel(){}; void Init(); const utl::TabulatedFunction& EvaluateFluorescenceYield(const double heightAboveSeaLevel) const; const std::vector& GetWavelengths() const; double GetdEdX0() const; bool HasData() const {return true;}; private: mutable utl::TabulatedFunction fFluorescenceSpectrum; std::vector fWavelength; std::vector fFluorescenceYield; std::vector fWaveband; std::vector fFY; double fSpectrumNormalization; double fTotalLight; REGISTER_MODEL(atm::VFluorescenceModel, "Constant",ConstantFluorescenceModel); }; } // #endif // _atm_ConstantFluorescenceModel_h_ // Configure (x)emacs for this file ... // Local Variables: // mode:c++ // compile-command: "make -C .. -k" // End: