TestClouds
| #include "TestClouds.hh" |
TestClouds
class description - source file - inheritance tree (.pdf)
class TestClouds : public Clouds
| Inheritance Chart: | |||||||||||||||
|
private:
virtual void Build()
virtual void Configure()
Bool_t GoingDownward(const EarthVector&, const EarthVector&) const
public:
TestClouds()
virtual ~TestClouds()
static TClass* Class()
virtual const char* ClassName() const
virtual const char* ClassType() const
Double_t GetAlbedo() const
virtual EarthVector GetCloudImpact(const EarthVector&, const EarthVector&, string opt = default) const
string GetType() const
virtual TClass* IsA() const
virtual Bool_t IsInClouds(const EarthVector& pos) const
virtual Double_t PhaseFunction(const EarthVector&, const EarthVector&) const
virtual void RandomDir(EarthVector&) const
virtual EarthVector RandomScatPos(const EarthVector&, const EarthVector&) const
virtual void Reset()
virtual void ShowMembers(TMemberInspector& insp, char* parent)
virtual void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
virtual Double_t TotalOD(const EarthVector&, const EarthVector&) const
Data Members
private:
Double_t fG phase function assymetry parameter (used in HG parametrization)
string fType lambertian or isotropic (in bunch mode only)
Double_t fAlbedo between [0,1] (in bunch mode only)
Class Description
TestClouds() : Clouds()
ctor
~TestClouds()
dtor
void Configure()
read config files
void Build()
build the object according to config files
Bool_t IsInClouds(const EarthVector& pos) const
true if position is within clouds, false otherwise
Double_t TotalOD(const EarthVector& pos,const EarthVector& dir) const
Returns the total OD along a track defined by pos and dir Case with pos within clouds handled NB : vertical OD is homogeneously distributed
EarthVector RandomScatPos(const EarthVector& pos,const EarthVector& dir) const
returns a scattering position along a given track cloud is uniform so scattering length is independent of direction : beta is constant Trans = exp(-OD) = exp(-beta*l)
Double_t PhaseFunction(const EarthVector& incom_dir,const EarthVector& outgo_dir) const
Mie scattering phase function - Henyey-Greenstein parametrization Normalized when integrated over full solid angle
void RandomDir(EarthVector& dir) const
'dir' is the incoming direction -> this method set dir to the scattering outgoing direction get a random direction, sampling clouds scattering phase function
EarthVector GetCloudImpact(const EarthVector& pos, const EarthVector& dir, string opt) const
Impact on clouds top surface form a given (position,direction) pair in atmosphere
if no impact, (0,0,HUGE) is returned
upward bunch is handled, but no scattering to the detector, only absorption
if opt == "default" -> incoming impact returned
if pos is within clouds, pos is returned
if opt == "outgoing" -> outgoing impact returned
Bool_t GoingDownward(const EarthVector& pos,const EarthVector& direc) const
to know if locally track is going up/downward locally means at pos nadir if perfectly horizontal (i.e. local angle of halfpi) returns false (i.e. upward)
void Reset()
reset clodus features
Inline Functions
Double_t GetAlbedo() const
string GetType() const
const char* ClassType() const
const char* ClassName() const
TClass* Class()
TClass* IsA() const
void ShowMembers(TMemberInspector& insp, char* parent)
void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
