// $Id: NoClouds.hh,v 1.3 2005/10/19 12:10:26 moreggia Exp $ // Author: Sylvain Moreggia 2005/04/13 /***************************************************************************** * ESAF: Euso Simulation and Analysis Framework * * * * Id: NoClouds * * Package: Atmosphere * * Coordinator: Moreggia S. * * * *****************************************************************************/ #ifndef __NOCLOUDS_HH__ #define __NOCLOUDS_HH__ #include "euso.hh" #include "Clouds.hh" #include "EarthVector.hh" //////////////////////////////////////////////////////////////////////////////// // // // NoClouds // // // // When no clouds in the simulation. Returns dummy values. // // // //////////////////////////////////////////////////////////////////////////////// class NoClouds : public Clouds { public: // ctor NoClouds(); // dtor virtual ~NoClouds(); // Return no impact, i.e. (0,0,HUGE) inline virtual EarthVector GetCloudImpact(const EarthVector& pos, const EarthVector& dir,string opt = "default") const {return EarthVector(0,0,HUGE);} // to know if a position is within clouds virtual Bool_t IsInClouds(const EarthVector&) const {return false;} // Returns the total OD along a direction virtual Double_t TotalOD(const EarthVector&,const EarthVector&) const {return 0;} // returns a scattering position along a given track virtual EarthVector RandomScatPos(const EarthVector&,const EarthVector&) const {return EarthVector(0,0,HUGE);} // set incoming direction to the outgoing direction after scattering virtual void RandomDir(EarthVector&) const {} // clouds scattering phase function - Normalized when integrated over full solid angle virtual Double_t PhaseFunction(const EarthVector&,const EarthVector&) const {return 0;} // reset virtual void Reset() {} private: // read config files virtual void Configure() {} // build the configured object virtual void Build() {} ClassDef(NoClouds,0) }; #endif /* __NOCLOUDS_HH__ */