// ESAF : Euso Simulation and Analysis Framework // $Id: InCloudsPropagator.hh,v 1.9 2005/04/14 19:47:06 moreggia Exp $ // Sylvain Moreggia created Jun, 1 2004 // // // The clouds propagator should never be the last propagator called, // it remains at least the "clear sky propagation within clouds" to make // #ifndef __INCLOUDSPROPAGATOR_HH_ #define __INCLOUDSPROPAGATOR_HH_ #include "euso.hh" #include "BunchPropagator.hh" class InCloudsPropagator : public BunchPropagator { public: // ctor (should not be used) InCloudsPropagator(); // ctor, copy RadiatvieTransfer ground description InCloudsPropagator(const Ground*); // dtor virtual ~InCloudsPropagator(); // Transport a BunchOfPhotons in cloudy conditions, // generating SinglePhotons all along the travel (filling ListPhotonsInAtmosphere) virtual Medium Go(BunchOfPhotons&,ListPhotonsInAtmosphere&) const = 0; // get ready for next event virtual void Reset() = 0; EsafConfigClass(RadiativeTransfer,BunchRadiativeTransfer) private: ClassDef(InCloudsPropagator,0) }; #endif /* __INCLOUDSPROPAGATOR_HH_ */