Universita' di GenovaINFN Sezione di Genova  
AIRWATCH / EUSO Genova

LowtranRadiativeProcessesCalculator

#include "LowtranRadiativeProcessesCalculator.hh"

LowtranRadiativeProcessesCalculator


class description - source file - inheritance tree (.pdf)

class LowtranRadiativeProcessesCalculator : public RadiativeProcessesCalculator

Inheritance Chart:
EsafMsgSource
<-
RadiativeProcessesCalculator
<-
LowtranRadiativeProcessesCalculator
    private:
void CallLowtran100(const EarthVector&, const EarthVector&, LowtranTransferOutput&) const void CleanBuffer(string) EarthVector InLowtranFrame(const EarthVector&, const EarthVector&) const Double_t Interpolate(Int_t, Int_t, const EarthVector&) const Double_t InterpolWl(string, Double_t, Double_t, Double_t, Double_t, Double_t) const public:
LowtranRadiativeProcessesCalculator() virtual ~LowtranRadiativeProcessesCalculator() static TClass* Class() virtual TClass* IsA() const void PreProcess(const BunchOfPhotons&) void PreProcessSingles(const Ground*, const EarthVector&, const ListPhotonsInAtmosphere&) virtual void Reset() virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b) virtual Double_t Trans(const SinglePhoton&, const EarthVector& finalpos) const virtual void Trans(const BunchOfPhotons&, const EarthVector&, vector<Double_t*>&) const

Data Members

    private:
Bool_t fFlag to know if PreProcess(BunchOfPhotons) has been run EarthVector fInitPos position where transmission tables start Int_t fNbwl nb of wavelength treated for the bunch process Float_t fWlArray[100] wavelengths treated by lowtran vector<vector<vector<Double_t> >*> fAlongTrackCoeff 3D-list [Nbstep][4][fNbwl] of transmission (4 kinds) along track vector<Double_t*> fToDetectorCoeff 2D-list [nbstep][fNbwl] of transmission (only total trans) const ListPhotonsInAtmosphere* fTrack copy of the list containing the light track (used in single propagation) EarthVector fImpact track impact for SinglePhoton transmission Double_t fStep step for lowtran calculations

Class Description

 for lowtran interface


Double_t Trans(const SinglePhoton& s, const EarthVector& finalpos) const
 Total transmission between photon position and finalpos

 Principle of interpolation from datacard :
    - find a reference transmission (calcuated from ground for reflected -- interpolated within a step for scattered)
    - then get the interaction length and apply it to the real travel


void PreProcess(const BunchOfPhotons& b)
 Preprocessing for bunch transmission along the track (for ckov backscattering simulation)
 Initialization of tables (fAlongTrackCoeff) for a step by step transfer process of a given bunchofphotons


void PreProcessSingles(const Ground* ground, const EarthVector& detector, const ListPhotonsInAtmosphere& track)
 Copy the light track and
 build a transmission map (fToDetectorCoeff), from positions along the track until detector
 used in BunchRadiativeTransfer::PropagationOfSingles()


void Trans(const BunchOfPhotons& b,const EarthVector& nextpos,vector<Double_t*>& coeff) const
 Total transmission between bunch position and a final position
 NB: for a considered bunch, step for running lowtran is independant of step defined for bunch propagation
 (lowtran step is larger.. cf computing time consumption)


Double_t Interpolate(Int_t i,Int_t j,const EarthVector& pos) const
 Interpolate the specified transmission coefficient fAlongTrackCoeff[][i][j]
 to get the value at pos (on the transfer track)


EarthVector InLowtranFrame(const EarthVector& v1,const EarthVector& v2) const
 Change of frame to match lowtran (v1 is the reference vector)
 the frame moves, then v2 expression in the new frame is returned


void CallLowtran100(const EarthVector& pos, const EarthVector& nextpos, LowtranTransferOutput& output) const
 Call lowtran (100 wavelengths processed) to calculate transmission between pos and nextpos, then fill output


Double_t InterpolWl(string type,Double_t w,Double_t w1,Double_t w2,Double_t T1,Double_t T2) const
 Interpolation of transmission coefficients as function of wavelength


void CleanBuffer(string DM)
 Clean the indicated internal trans map (fAlong.. or fToDetect..)


void Reset()
 get ready for next event




Inline Functions


                                       void ~LowtranRadiativeProcessesCalculator()
        LowtranRadiativeProcessesCalculator LowtranRadiativeProcessesCalculator()
                                    TClass* Class()
                                    TClass* IsA() const
                                       void ShowMembers(TMemberInspector& insp, char* parent)
                                       void Streamer(TBuffer& b)
                                       void StreamerNVirtual(TBuffer& b)
About Us | EUSO Official Website | Web pages created by Roberto Pesce and Alessandro Thea - Last Update 14-May-2005 21:31