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