Universita' di GenovaINFN Sezione di Genova  
AIRWATCH / EUSO Genova

EAtmosphereHistoPainter

#include "EAtmosphereHistoPainter.hh"

EAtmosphereHistoPainter


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

class EAtmosphereHistoPainter : public EAnimator

Inheritance Chart:
TObject
<-
EAnimator
<-
EAtmosphereHistoPainter
    private:
void UpdateHistos() public:
EAtmosphereHistoPainter(EAtmosphere* atm, Double_t GTUlength, ETruth* truth, EShower* show = 0) EAtmosphereHistoPainter(const EAtmosphereHistoPainter&) virtual ~EAtmosphereHistoPainter() void BuildAll() void BuildAltHistos() void BuildAngularPupilHistos() void BuildDateHistos() void BuildFovHistos() void BuildLongitudinalHistos() void BuildMScattHistos() void BuildTofHistos() void BuildWlHistos() static TClass* Class() Double_t DetectorRadius() const virtual void Draw(Option_t* opt = "") TVector3 EUSO() const TH2F* Get2DAngularHisto(const char* name, const char* title = "0") TH2F* GetAlt2DHisto(const char*, const char* = "0") TH1F* GetAltHisto(const char*, const char* = "0", UInt_t Nbins = 0) TH1F* GetAngularHisto(const char* name, const char* title = "0") TH2F* GetFovHisto(const char* name, const char* title = "0") TSeqCollection* GetListOfHistos() TH1F* GetLongitudinalHisto(const char*, const char* = "0", Bool_t flag = true, UInt_t Nbins = 0) const TArrayI& GetMScattCut() const TH1F* GetMScattHistory(const char* name, const char* title = "0") TH2F* GetSingle2DHisto(const char* name, const char* title = "0", Double_t max = 50) TH1F* GetSingleAltHisto(const char*, const char* = "0") TH1F* GetSingleLateralHisto(const char* name, const char* title = "0") TH1F* GetSingleLongitudinalHisto(const char* name, const char* title = "0", Double_t max = 50) TH1F* GetTimeHisto(const char*, const char* = "0", UInt_t Nbins = 0) TH1F* GetTofHisto(const char*, const char* = "0") TH2F* GetWl2DHisto(const char*, const char* = "0") TH1F* GetWlHisto(const char*, const char* = "0") virtual TClass* IsA() const void MScattCut(Double_t BDFmin = 2.5*0.4, Double_t BDFmax = 2.5*0.8, Double_t SNR = 3) virtual void NextFrame() EAtmosphereHistoPainter& operator=(const EAtmosphereHistoPainter&) void SetShower(EShower* sh) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members

    private:
TVector3 fEUSO Double_t fRadius Double_t fGTUlength Double_t fTimeMin of photons on pupil Double_t fTimeMax of photons on pupil Int_t fMaxScatOrder mutliple scattering max order TArrayI fIndex_list if MScatt cut : list of indices of selected photons -- ALL photons otherwise TSeqCollection* fHistos EAtmosphere* fAtmosphere contains simu atmosphere data EShower* fShower contains simu shower data ETruth* fTruth contains the truth (used to get shower impact) Double_t* fTimeBins array for time axis Double_t* fAltBins array for altitude axis Double_t* fLongBins array for photons longitudinal profiles (in km) Double_t* fGramBins array for photons longitudinal profiles (in g/cm2)

Class Description

 EAtmosphereHistoPainters

 Several groups of plots. Every plot of a group are generated together.
 Possible to build only a group of plots

   Config file parameters
   ======================

   <parameter name>: <parameter description>
   -Valid options: <available options>


EAtmosphereHistoPainter(EAtmosphere* atm, Double_t GTUlength, ETruth* truth, EShower* show)
 Constructor
 ETruth needed to get shower earth impact


~EAtmosphereHistoPainter()
 Destructor


void BuildAll()
 Build


void MScattCut(Double_t BDFmin, Double_t BDFmax, Double_t SNR)
 defines a cut in space-time coordinates to get a more realistic view of Multiple Scattering contribution
 then replot all the histos in taking the cut into account
     - BDF min and max values can be configured (then linear interpolation w.r.t. distance to Nadir)
     - Signal To Noise ratio can be configured (SNR = S / BDF ---> NOT logarithmic here)
       otherwise, it is fixed to 3 sigmas of bdf fluctuations (poissonian assumed)


void BuildDateHistos()
 generate histos of photons at creation as function of creation time


void BuildAltHistos()
 generate histos of YIELD as function of altitude


void BuildLongitudinalHistos()
 generate histos of photons at creation along the track (Longitudinal Profiles)

 generate also histos for SinglePhotons : longitudinal and lateral distribution along track (in km only)


void BuildTofHistos()
 generate histos of photons on pupil as function of time since PRIMARY cosmic ray first interaction


void BuildWlHistos()
 generate wavelength spectra of photons on pupil BEFORE and AFTER last transmission
 generate also wavelength spectra of photons in atmosphere at creation


void BuildFovHistos()
 generate histos of photons on pupil as function of time since PRIMARY cosmic ray first interaction


void BuildAngularPupilHistos()
 generate histos of photons on pupil as function of their incident angle (w.r.t vertical axis)


void BuildMScattHistos()
 Multiple Scattering details


TH1F* GetTimeHisto(const char *name, const char *title, UInt_t Nbins)
 Get histograms versus time


TH1F* GetAltHisto(const char *name, const char *title, UInt_t Nbins)
 Get histograms versus altitude


TH1F* GetSingleAltHisto(const char *name, const char *title)
 Get SinglePhoton histograms versus altitude


TH2F* GetAlt2DHisto(const char *name, const char *title)
 Get SinglePhoton histograms versus altitude


TH1F* GetLongitudinalHisto(const char *name, const char *title, Bool_t flag, UInt_t Nbins)
 Get longitudinal profiles
 if flag == true  -> in g/cm2
 if flag == false -> in km


TH1F* GetSingleLongitudinalHisto(const char *name, const char *title, Double_t max)
 Get SinglePhoton histograms along the track (in km)


TH1F* GetSingleLateralHisto(const char *name, const char *title)
 Get SinglePhoton distance from the track (in km)


TH1F* GetMScattHistory(const char *name, const char *title)
 Summary of photons interactions in the atmosphere as function of scattering order


TH2F* GetSingle2DHisto(const char *name, const char *title, Double_t max)
 Get SinglePhoton 2D-histograms (longitudinal, lateral) coordinates


TH1F* GetWlHisto(const char *name, const char *title)
 Get wavelength histograms


TH2F* GetWl2DHisto(const char *name, const char *title)
 Get wavelength histograms


TH1F* GetTofHisto(const char *name, const char *title)
 Get wavelength histograms


TH2F* GetFovHisto(const char *name, const char *title)
 Get 2D-histograms in (x,y) MES-coordinates


TH1F* GetAngularHisto(const char *name, const char *title)
 Get angular distribution of photon direction entering pupil


TH2F* Get2DAngularHisto(const char *name, const char *title)
 Get 2D angular distribution of photon direction entering pupil
 [ phi,cos(theta) ] coord.


void Draw(Option_t *opt)



void NextFrame()
 Switch to the next frame and update histograms


void UpdateHistos()
 Update hitograms at the current frame.




Inline Functions


                  const TArrayI& GetMScattCut() const
                            void SetShower(EShower* sh)
                        TVector3 EUSO() const
                        Double_t DetectorRadius() const
                 TSeqCollection* GetListOfHistos()
                         TClass* Class()
                         TClass* IsA() const
                            void ShowMembers(TMemberInspector& insp, char* parent)
                            void Streamer(TBuffer& b)
                            void StreamerNVirtual(TBuffer& b)
         EAtmosphereHistoPainter EAtmosphereHistoPainter(const EAtmosphereHistoPainter&)
        EAtmosphereHistoPainter& operator=(const EAtmosphereHistoPainter&)
About Us | EUSO Official Website | Web pages created by Roberto Pesce and Alessandro Thea - Last Update Wed Nov 16 16:26:08 2005