EAtmosphereHistoPainter
#include "EAtmosphereHistoPainter.hh" |
EAtmosphereHistoPainter
class description - source file - inheritance tree (.pdf)
class EAtmosphereHistoPainter : public EAnimator
Inheritance Chart: | |||||||||||||
|
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&)