BunchRadiativeTransfer
#include "BunchRadiativeTransfer.hh" |
BunchRadiativeTransfer
class description - source file - inheritance tree (.pdf)
class BunchRadiativeTransfer : public RadiativeTransfer
Inheritance Chart: | |||||||||||||||
|
private:
void BunchPropagation(BunchOfPhotons&) virtual void CopyDetectorGeometry(const DetectorGeometry* dg) void DirectToEuso(const BunchOfPhotons&) const void GenerateDirectSingles(const BunchOfPhotons&, Int_t) const virtual void GenerateReflectedSingles(Int_t, const BunchOfPhotons&) 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 LowtranRadiativeProcessesCalculator* fLowToDetec calculator for last transmission to detector size_t fNbBunch number of bunches to handle Double_t fNbTot total number of photons to handle
Class Description
BunchRadiativeTransfer() : RadiativeTransfer(), fPhotons(0), fTotalList(0), fCSpropag(0), fICpropag(0), fNbBunch(0), fNbTot(0)
ctor
~BunchRadiativeTransfer()
dtor
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& bigbunch) const
Creates a list of SinglePhoton considering the EUSO solid angle handles fluo and cerenkov (angular distrib used for the later)
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
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)