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)
