Universita' di GenovaINFN Sezione di Genova  
AIRWATCH / EUSO Genova

BunchRadiativeTransfer

#include "BunchRadiativeTransfer.hh"

BunchRadiativeTransfer


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

class BunchRadiativeTransfer : public RadiativeTransfer

Inheritance Chart:
EsafConfigurable
EsafMsgSource
<-
RadiativeTransfer
<-
BunchRadiativeTransfer
    private:
void BunchPropagation(BunchOfPhotons&) void DirectToEuso(const BunchOfPhotons&) const EarthVector EUSO() const Double_t EusoOmega(const EarthVector& pos) const Double_t EusoRadius() const void GenerateDirectSingles(const BunchOfPhotons&, Int_t) const virtual void GenerateReflectedSingles(Int_t, const BunchOfPhotons&) const const DetectorGeometry* GetDetGeometry() const virtual void GroundReflection(const BunchOfPhotons&) const void PropagationOfSingles() public:
BunchRadiativeTransfer() virtual ~BunchRadiativeTransfer() static TClass* Class() virtual const char* ClassName() const virtual const char* ClassType() const virtual PhotonsOnPupil* Get(PhotonsInAtmosphere*, const DetectorGeometry* dg) 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

    private:
ListPhotonsOnPupil* fPhotons keep in memory the list returned to detector ListPhotonsInAtmosphere* fTotalList pointer on the list created by LightSource module ClearSkyPropagator* fCSpropag propagator for clear sky conditions InCloudsPropagator* fICpropag propagator for cloudy conditions unsigned int fNbBunch number of bunches to handle Double_t fNbTot total number of photons to handle const DetectorGeometry* fDetGeom copy of the object defined in Detector part

Class Description


PhotonsOnPupil* Get(PhotonsInAtmosphere* photons, const DetectorGeometry* dg)
 Transport photons from source to Euso pupil


void Reset()
 get ready for next event


void DirectToEuso(const BunchOfPhotons& bigbunch) const
 Creates a list of SinglePhoton considering the EUSO solid angle


void BunchPropagation( BunchOfPhotons& bigbunch )
 Propagation of a bunch through the atmosphere

 temp remark : bunch splitting not used so far, thus don't handle for root filling //TOFIX


void GroundReflection(const BunchOfPhotons& b) const
 Process of a bunch reaching ground


void PropagationOfSingles()
 Final phase of transfer. Propagate all the SinglePhoton til EUSO pupil


void GenerateDirectSingles(const BunchOfPhotons& b,Int_t nb) const
 SinglePhoton generation (BunchOfPhotons portion which is created within EUSO solid angle)
 SinglePhotons created added to fTotalList


void GenerateReflectedSingles(Int_t nb, const BunchOfPhotons& b) const
 Creates SinglePhoton objects coming from a BunchOfPhotons reflection on ground




Inline Functions


                           void ~BunchRadiativeTransfer()
         BunchRadiativeTransfer BunchRadiativeTransfer()
                    const char* ClassType() const
                    const char* ClassName() const
        const DetectorGeometry* GetDetGeometry() const
                    EarthVector EUSO() const
                       Double_t EusoRadius() const
                       Double_t EusoOmega(const EarthVector& pos) 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 14-May-2005 21:31