Universita' di GenovaINFN Sezione di Genova  
AIRWATCH / EUSO Genova

O2_ClearSkyPropagator

#include "O2_ClearSkyPropagator.hh"

O2_ClearSkyPropagator


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

class O2_ClearSkyPropagator : public ClearSkyPropagator

Inheritance Chart:
EsafConfigurable
EsafMsgSource
<-
BunchPropagator
<-
ClearSkyPropagator
<-
O2_ClearSkyPropagator
<-
AlongTrack_CSPropagator
    private:
Medium BunchPreProcess(BunchOfPhotons&) const protected:
void GenerateAerosolSingles(Int_t, Int_t, Double_t, const EarthVector&, const BunchOfPhotons&, ListPhotonsInAtmosphere&, Double_t, Double_t) const void GenerateRayleighSingles(Int_t, Int_t, Double_t, const EarthVector&, const BunchOfPhotons&, ListPhotonsInAtmosphere&, Double_t, Double_t) const void Propagate(BunchOfPhotons&, ListPhotonsInAtmosphere&) const public:
O2_ClearSkyPropagator() O2_ClearSkyPropagator(const Ground*) virtual ~O2_ClearSkyPropagator() static TClass* Class() virtual const char* ClassName() const virtual const char* ClassType() const virtual Medium Go(BunchOfPhotons&, ListPhotonsInAtmosphere&) const virtual TClass* IsA() const virtual void Reset() virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members


    protected:
Medium fFinal_medium medium for final impact of the bunch (needed when clouds+ClearSky) Double_t fNbSinglesCorrected nb of singles that undergoes the "end-track-correction" (DEBUG var.)

Class Description


O2_ClearSkyPropagator() : ClearSkyPropagator()
 ctor (should not be used)


O2_ClearSkyPropagator(const Ground* g) : ClearSkyPropagator(g)
 ctor, copy RadiatvieTransfer ground description


~O2_ClearSkyPropagator()
 dtor


Medium Go(BunchOfPhotons& bunch,ListPhotonsInAtmosphere& list) const
 call methods for propagation
 NB: bunch can be modified, its copy b cannot


void Propagate(BunchOfPhotons& bunch,ListPhotonsInAtmosphere& list) const
 Propagate a BunchOfPhotons in clear sky conditions,
 generating SinglePhotons all along the travel -> ListPhotonsInAtmosphere filled
 NB: bunch can be modified, its copy b cannot


void GenerateRayleighSingles(Int_t specbin, Int_t nb, Double_t scattrate, const EarthVector& step, const BunchOfPhotons& b, ListPhotonsInAtmosphere& list, Double_t Ta,Double_t To) const
 Generate a SinglePhoton list, coming from Rayleigh scattering process applied to the given BunchOfPhotons
 Tuning of scattering position done thanks to additional data : scattrate (rate of scattering),
 step (step used for backscattering calculations)
 NB : bunch position is at the end of the considered propagation step


void GenerateAerosolSingles(Int_t specbin, Int_t nb, Double_t scattrate, const EarthVector& step, const BunchOfPhotons& b, ListPhotonsInAtmosphere& list, Double_t Tr,Double_t To) const
 Generate a SinglePhoton list, coming from Aerosols Mie scattering process applied to the given BunchOfPhotons
 Tuning of scattering position done thanks to additional data : scattrate (rate of scattering),
 NB : bunch position is at the end of the considered propagation step


Medium BunchPreProcess(BunchOfPhotons& b) const
 Preprocess run once for each bunch before propagation
 Call RadiativeProcessesCalculator::BunchPreProcess
 Get the Medium of final impact


void Reset()
 reset imbricated objects




Inline Functions


        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)
About Us | EUSO Official Website | Web pages created by Roberto Pesce and Alessandro Thea - Last Update Wed Nov 16 16:21:35 2005