Universita' di GenovaINFN Sezione di Genova  
AIRWATCH / EUSO Genova

MCRadiativeTransfer

#include "MCRadiativeTransfer.hh"

MCRadiativeTransfer


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

class MCRadiativeTransfer : public RadiativeTransfer

Inheritance Chart:
EsafConfigurable
EsafMsgSource
<-
RadiativeTransfer
<-
MCRadiativeTransfer
    private:
virtual void CopyDetectorGeometry(const DetectorGeometry* dg) void DirectToEuso(const BunchOfPhotons&) void PhotonsInOmega(const BunchOfPhotons&) void PropagateToDetector() void SetOmegaMax(const EarthVector&) public:
MCRadiativeTransfer() virtual ~MCRadiativeTransfer() 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 SinglePhotonPropagator* fPropagator propagator for scattering simulation LowtranRadiativeProcessesCalculator* fLowToDetec calculator for last transmission to detector vector<SinglePhoton*> fTempList photons kept here during scattering simu. Then copied in fTotalList size_t fNbBunch number of bunches to handle Double_t fNbTot total number of photons created by LightSource Double_t fNbSingles total nb of photons to propagate Int_t fScatOrder scattering order to be simulated Double_t fMaxPhaseFunction to normalize all the phase function Double_t fOmegaMax factor which determines nb of photons to be simulated

Class Description

 MCRadiativeTransfer

 Detection from a ground detector no possible in this mode


   Config file parameters
   ======================

   <parameter name>: <parameter description>
   -Valid options: <available options>


MCRadiativeTransfer() : RadiativeTransfer() , fPhotons(0), fTotalList(0), fPropagator(0), fLowToDetec(0), fNbBunch(0), fNbTot(0), fNbSingles(0), fOmegaMax(0)
 ctor


~MCRadiativeTransfer()
 Destructor


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


void Reset()
 get ready for next event
 NB : fLowToDetec not reset, its datacard is used for all the events of a run


void DirectToEuso(const BunchOfPhotons& b)
 Creates a list of SinglePhoton considering the EUSO solid angle
 handles fluo and cerenkov (angular distrib used for the later)
 THESE SINGLEPHOTON WILL NOT UNDERGO SCATTERING SIMU


void PhotonsInOmega(const BunchOfPhotons& b)
 Detector solid angle is applied here -> the resulting photons will undergo scattering simu
 Photon features are set here (lambda, position, direction)
 SinglePhoton are stored into fTempList for scattering simu


void PropagateToDetector()
 Final phase of transfer. Propagate all the SinglePhoton til EUSO pupil
 USE LOWTRAN (because of Ozone transmission)


void SetOmegaMax(const EarthVector& showermaxpos)
 calculate Omega max according to the position of light track maximum




Inline Functions


        const char* ClassType() const
        const char* ClassName() const
               void CopyDetectorGeometry(const DetectorGeometry* dg)
            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:26 2005