// ESAF : Euso Simulation and Analysis Framework // $Id: TestClouds.hh,v 1.10 2005/05/02 17:21:48 moreggia Exp $ // Sylvain Moreggia created Apr, 8 2004 #ifndef __TESTCLOUDS_HH_ #define __TESTCLOUDS_HH_ #include "euso.hh" #include "Clouds.hh" /******************************************************************************* * * TestClouds : class description * * For light propagation, treated as a simple single scattering volume (lambertian or isotropic) * ******************************************************************************/ class EarthVector; class BunchOfPhotons; class EVector; class TestCloudsData; class TestClouds : public Clouds { public: // ctor TestClouds(); // dtor virtual ~TestClouds(); // Return impact of a bunchofphotons virtual EarthVector GetCloudImpact(const EarthVector&, const EarthVector&,string opt = "default") const; // to know if pos is in clouds virtual Bool_t IsInClouds(const EarthVector& pos) const; // Returns the total OD along a direction virtual Double_t TotalOD(const EarthVector&,const EarthVector&) const; inline Double_t GetAlbedo() const {return fAlbedo;} inline string GetType() const {return fType;} // reset virtual void Reset(); EsafConfigClass(Atmosphere,TestClouds) private: // read config files virtual void Configure(); // build the configured object virtual void Build(); // true if track going locally downward Bool_t GoingDownward(const EarthVector&,const EarthVector&) const; string fType; // lambertian or isotropic Double_t fAlbedo; // between [0,1] ClassDef(TestClouds,0) }; #endif /* __TESTCLOUDS_HH_ */