// ESAF : Euso Simulation and Analysis Framework // $Id: O1_ClearSkyPropagator.hh,v 1.10 2005/05/02 17:21:50 moreggia Exp $ // Sylvain Moreggia created Jun, 2 2004 // // Fluo bunches not propagated // Ckov ones propagated until ground (only bunch attenuation is worked out) // #ifndef __O1_CLEARSKYPROPAGATOR_HH_ #define __O1_CLEARSKYPROPAGATOR_HH_ #include "euso.hh" #include "ClearSkyPropagator.hh" class EsafSpectrum; class O1_ClearSkyPropagator : public ClearSkyPropagator { public: // ctor (should not be used) O1_ClearSkyPropagator(); // ctor, copy RadiatvieTransfer ground description O1_ClearSkyPropagator(const Ground*); // dtor virtual ~O1_ClearSkyPropagator(); // Transport a BunchOfPhotons in clear sky conditions, // generating SinglePhotons all along the travel (ListPhotonsInAtmosphere filled) virtual Medium Go(BunchOfPhotons&,ListPhotonsInAtmosphere&) const; // method used in Reconstruction // convoluates the given spectrum by transmission coefficients // spectrum is normalized and the norm. coeff is returned virtual Double_t GoToDetector(EsafSpectrum&,const EarthVector&) const; // get ready for next event virtual void Reset(); private: mutable Medium fFinal_medium; // medium where final impact occurs ClassDef(O1_ClearSkyPropagator,0) }; #endif /* __O1_CLEARSKYPROPAGATOR_HH_ */