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)