// ESAF : Euso Simulation and Analysis Framework // $Id: TestCloudsPropagator.hh,v 1.8 2005/04/27 11:32:41 moreggia Exp $ // Author: Sylvain Moreggia Aug, 19 2004 #ifndef __TESTCLOUDSPROPAGATOR_HH_ #define __TESTCLOUDSPROPAGATOR_HH_ #include "euso.hh" #include "InCloudsPropagator.hh" /******************************************************************************* * * TestCloudsPropagator: class description * * Associated with TestClouds objects * Generates clouds backscattered photons according to TestClouds albedo * Lambertian (or isotropic) angular response * Depth reached inside clouds taken into account for each scattered photon * Bunch weight is attenuated * ******************************************************************************/ class TestCloudsPropagator : public InCloudsPropagator { public: // ctor TestCloudsPropagator(); // ctor, copy RadiatvieTransfer ground description TestCloudsPropagator(const Ground*); // dtor virtual ~TestCloudsPropagator(); // Transport a BunchOfPhotons in cloudy conditions, // generating SinglePhotons all along the travel (ListPhotonsInAtmosphere filled) virtual Medium Go(BunchOfPhotons&,ListPhotonsInAtmosphere&) const; // Bidirectionnal reflectance distribution function // Returns the value for light going toward EUSO detector from the given position Double_t Brdf(const EarthVector& pos) const; // get ready for next event virtual void Reset() {} private: string fType; // lambertian or isotropic ClassDef(TestCloudsPropagator,0) }; #endif /* __TESTCLOUDSPROPAGATOR_HH_ */