source: JEM-EUSO/esaf_cc_at_lal/packages/simulation/radiativetransfer/include/O2_ClearSkyPropagator.hh @ 114

Last change on this file since 114 was 114, checked in by moretto, 11 years ago

actual version of ESAF at CCin2p3

File size: 2.1 KB
Line 
1// ESAF : Euso Simulation and Analysis Framework
2// $Id: O2_ClearSkyPropagator.hh 2751 2006-07-13 12:43:10Z moreggia $
3// Sylvain Moreggia created Jun,  2 2004
4//
5// what's done by O1_ClearSky.. + cerenkov backscattering
6//
7
8#ifndef __O2_CLEARSKYPROPAGATOR_HH_
9#define __O2_CLEARSKYPROPAGATOR_HH_
10
11#include "euso.hh"
12#include "ClearSkyPropagator.hh"
13
14
15class O2_ClearSkyPropagator : public ClearSkyPropagator {
16private:
17   
18    // Preprocess run once for each bunch, called before Propagate()
19    Medium BunchPreProcess(BunchOfPhotons&) const;
20   
21public:
22    // ctor (should not be used)
23    O2_ClearSkyPropagator();
24   
25    // ctor, copy RadiatvieTransfer ground description
26    O2_ClearSkyPropagator(const Ground*);
27
28    // dtor
29    virtual ~O2_ClearSkyPropagator();
30
31    // Transport a BunchOfPhotons in the relevant medium,
32    // generating SinglePhotons all along the travel (ListPhotonsInAtmosphere filled)
33    virtual Medium Go(BunchOfPhotons&,ListPhotonsInAtmosphere&) const;
34   
35    // get ready for next event
36    virtual void Reset();
37   
38    EsafConfigClass(RadiativeTransfer,BunchRadiativeTransfer)
39
40protected:
41   
42    // Propagate the bunch
43    void Propagate(BunchOfPhotons&,ListPhotonsInAtmosphere&) const;
44   
45    // Creates SinglePhoton list (called by the Go(..) method)
46    void GenerateRayleighSingles(Int_t,Int_t,Double_t,const EarthVector&,const BunchOfPhotons&,ListPhotonsInAtmosphere&,Double_t,Double_t) const;
47    void GenerateAerosolSingles(Int_t,Int_t,Double_t,const EarthVector&,const BunchOfPhotons&,ListPhotonsInAtmosphere&,Double_t,Double_t) const;
48   
49    mutable Medium fFinal_medium;            // medium for final impact of the bunch (needed when clouds+ClearSky)
50    mutable Double_t fNbSinglesCorrected;    // nb of singles that undergoes the "end-track-correction" (DEBUG var.)
51    Int_t fAerosolModel;                     // aerosol model used by LOWTRAN fortran code
52                                             // 0:none, 1:rural23, 2:rural5, 4:maritime, 5:urban5
53    Double_t fAerosol_correction_factor;      // dpd on model (scattering part of the extinction)
54   
55    ClassDef(O2_ClearSkyPropagator,0)
56};
57
58#endif  /* __O2_CLEARSKYPROPAGATOR_HH_ */
59
Note: See TracBrowser for help on using the repository browser.