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)
