O2_ClearSkyPropagator
#include "O2_ClearSkyPropagator.hh" |
O2_ClearSkyPropagator
class description - source file - inheritance tree (.pdf)
class O2_ClearSkyPropagator : public ClearSkyPropagator
Inheritance Chart: | |||||||||||||||||||||||
|
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)