Universita' di GenovaINFN Sezione di Genova  
AIRWATCH / EUSO Genova

UniformLayersClouds

#include "UniformLayersClouds.hh"

UniformLayersClouds


class description - source file - inheritance tree (.pdf)

class UniformLayersClouds : public Clouds

Inheritance Chart:
EsafConfigurable
EsafMsgSource
<-
Clouds
<-
UniformLayersClouds
    private:
virtual void Build() virtual void Configure() Bool_t GoingDownward(const EarthVector&, const EarthVector&) const Bool_t IsInLayer(Int_t, const EarthVector& pos, EarthVector dir = 0.) const Int_t PointToClouds(const EarthVector&, const EarthVector&) const Int_t PointToLayer(Int_t, const EarthVector&, const EarthVector&) const public:
UniformLayersClouds() virtual ~UniformLayersClouds() static TClass* Class() virtual const char* ClassName() const virtual const char* ClassType() const virtual EarthVector GetCloudImpact(const EarthVector&, const EarthVector&, string opt = default) const EarthVector GetLayerImpact(Int_t, const EarthVector&, const EarthVector&, string opt = default) const Double_t InclinedODloc(Int_t, const EarthVector&, const EarthVector&) const virtual TClass* IsA() const virtual Bool_t IsInClouds(const EarthVector&) const Int_t LayerNumber(const EarthVector&) 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:
CloudsBox* fBox describe clouds properties string fCloudsType clouds type

Class Description


UniformLayersClouds() : Clouds(), fBox(0)
 Constructor


~UniformLayersClouds()
 Destructor


EarthVector GetCloudImpact(const EarthVector& pos, const EarthVector& dir,string opt) const
 Return impact for given position and direction
 if opt is "outgoing", returns the track exit point
 Convention :    - if already within clouds, returns pos
                 - if no impact, returns (0,0,HUGE)


Double_t TotalOD(const EarthVector& pos,const EarthVector& dir) const
 returns total Optical Depth along the given track (defined by pos and dir)


Double_t InclinedODloc(Int_t layerID,const EarthVector& incom,const EarthVector& outgo) const
 gives layer OD between incoming and outgoing points


EarthVector GetLayerImpact(Int_t layerID,const EarthVector& pos,const EarthVector& dir,string opt) const
 Returns the impact of a track on the specified CloudLayer
 If pos is external, returned impact is incoming by default or outgoing if specified
 if no impact, returns (0,0,HUGE)


void Build()
 build the CloudsBox object
 Standard clouds types drawn from Liou, Radiation and Cloud Processes in the Atmosphere, 1992
 It gives : - typical values for BetaE (= sigmaE * N) for wl = 0.5 microns
            - altitudes (influences of geographical coo. not considered), not given precisely
 clouds splitted into 100 layers


Bool_t IsInLayer(Int_t layerID,const EarthVector& pos, EarthVector dir) const
 says if pos is in the specified layer
 if dir is specified, altitude round-off effects < 1mm are handled (cf. cases with pos on a layer edge)


Bool_t IsInClouds(const EarthVector& pos) const
 says if pos is in clouds or not


Int_t PointToLayer(Int_t layerID,const EarthVector& pos,const EarthVector& dir) const
 says if track points toward clouds
 returns -1 if is inside the layer


Int_t PointToClouds(const EarthVector& pos,const EarthVector& dir) const
 says if track points toward clouds
 returns -1 if is inside clouds


Int_t LayerNumber(const EarthVector& pos) const
 gives the layer number where pos is
 returns -1 if is not in the cloud


Bool_t GoingDownward(const EarthVector& pos,const EarthVector& dir) 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)




Inline Functions


        EarthVector RandomScatPos(const EarthVector&, const EarthVector&) const
               void RandomDir(EarthVector&) const
           Double_t PhaseFunction(const EarthVector&, const EarthVector&) const
               void Reset()
        const char* ClassType() const
        const char* ClassName() const
               void Configure()
            TClass* Class()
            TClass* IsA() const
               void ShowMembers(TMemberInspector& insp, char* parent)
               void Streamer(TBuffer& b)
               void StreamerNVirtual(TBuffer& b)
About Us | EUSO Official Website | Web pages created by Roberto Pesce and Alessandro Thea - Last Update Wed Nov 16 16:24:22 2005