Universita' di GenovaINFN Sezione di Genova  
AIRWATCH / EUSO Genova

BunchOfPhotons

#include "BunchOfPhotons.hh"

BunchOfPhotons


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

class BunchOfPhotons : public EsafMsgSource

Inheritance Chart:
EsafMsgSource
<-
BunchOfPhotons

    public:
BunchOfPhotons() BunchOfPhotons(const BunchOfPhotons&) BunchOfPhotons(const Double_t weight, const Double_t yield, const EarthVector& showerposi, const EarthVector& showerposf, const Double_t datei, const Double_t datef, const EsafSpectrum& spectrum, const EarthVector& dir, PhotonType type) virtual ~BunchOfPhotons() void AddToPos(const EarthVector& v) void AddToPosTof(const EarthVector&) void AddToTof(Double_t t) Double_t AngularDist_OverTwoPi(Double_t) const static TClass* Class() void Convolute(Double_t norm) Double_t ConvoluteWl(const Double_t* tab) Double_t GetDate() const EarthVector GetDir() const UChar_t GetFate() const const EarthVector& GetFinalImpact() const UInt_t GetId() const UInt_t GetNbins() const const EarthVector& GetNextImpact() const const ParentBunch* GetParent() const const EarthVector& GetPos() const const EarthVector& GetShowerPos() const Double_t GetTof() const PhotonType GetType() const Double_t GetWeight() const Double_t GetWeight(Int_t i) const const EsafSpectrum& GetWlSpectrum() const virtual TClass* IsA() const EarthVector PosRandomAngCorrec(const EarthVector&, const EarthVector&) const EarthVector RandomDirection() const EarthVector RandomPosInShower() const void Reset() void SetDir(const EarthVector& v) void SetFate(UChar_t f) void SetFinalImpact(const EarthVector& v) void SetNextImpact(const EarthVector& v) void SetParent(const ParentBunch& pb) void SetParentAngular(const TF12& ld) void SetParentAngular(const TH1F& ld) void SetParentLateral(const TF12& ld) void SetParentLateral(const TH1F& ld) void SetPos(const EarthVector& v) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members


    protected:
UInt_t fId bunch identity UInt_t fNbins spectra number of elements PhotonType fType type of photon Double_t fWeight weight of the bunch Double_t fDate mean date of creation Double_t fTof mean tof between creation and present EarthVector fPos mean position of the bunch EarthVector fShowerPos mean position in shower EarthVector fDir mean direction (isotropic <-> fDir.Mag() == 0) EarthVector fNextImpact next impact (usefull for propagation) EarthVector fFinalImpact final impact (ground or clear sky) EsafSpectrum fWlSpectrum [fNbins] wavelenght spectrum of the bunch (normalized) ParentBunch* fParent hold info about bunch generation UChar_t fFate where bunch dies in the code static UInt_t fCounter to keep nb of created bunches in memory

Class Description


BunchOfPhotons(): fId(0), fParent(0)
 ctor


BunchOfPhotons(const BunchOfPhotons& b) : fParent(0)
 copy ctor


BunchOfPhotons(const Double_t weight,const Double_t yield, const EarthVector& showerposi, const EarthVector& showerposf, const Double_t datei, const Double_t datef, const EsafSpectrum& spectrum, const EarthVector& dir, PhotonType type)
 ctor with creation of a Parent Bunch


~BunchOfPhotons()
 dtor


EarthVector RandomPosInShower() const
 Returns a random position at creation, using lateral and longitudinal position distributions
 If no distributions, returns bunch showerpos


EarthVector PosRandomAngCorrec(const EarthVector& showerpos,const EarthVector& currentpos) const
 Returns a corrected position at any propagation stage, using :
     - angular distributions at creation
     - the corrected SinglePhoton showerpos given in argument
     - the current SinglePhoton position given in argument
 NB : all corrections (in position and time) must be done before calling the present method


EarthVector RandomDirection() const
 Returns a random direction at creation using the angular distributions


Double_t AngularDist_OverTwoPi(Double_t theta) const
 returns 'angular distribution value' / 2pi, at theta
 theta taken w.r.t bunch axis, and zero means same direction as bunch axis


void AddToPosTof(const EarthVector& v)
 Increment the position AND the tof


void Reset()
 Reset method




Inline Functions


                     UInt_t GetId() const
                     UInt_t GetNbins() const
                   Double_t GetWeight() const
                   Double_t GetWeight(Int_t i) const
                 PhotonType GetType() const
                   Double_t GetDate() const
                   Double_t GetTof() const
         const EarthVector& GetPos() const
                EarthVector GetDir() const
         const EarthVector& GetShowerPos() const
         const EarthVector& GetNextImpact() const
         const EarthVector& GetFinalImpact() const
        const EsafSpectrum& GetWlSpectrum() const
         const ParentBunch* GetParent() const
                       void SetParent(const ParentBunch& pb)
                       void SetParentLateral(const TF12& ld)
                       void SetParentLateral(const TH1F& ld)
                       void SetParentAngular(const TF12& ld)
                       void SetParentAngular(const TH1F& ld)
                       void SetPos(const EarthVector& v)
                       void SetDir(const EarthVector& v)
                       void SetNextImpact(const EarthVector& v)
                       void SetFinalImpact(const EarthVector& v)
                       void AddToTof(Double_t t)
                       void AddToPos(const EarthVector& v)
                       void Convolute(Double_t norm)
                   Double_t ConvoluteWl(const Double_t* tab)
                    UChar_t GetFate() const
                       void SetFate(UChar_t f)
                    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 Wed Nov 16 16:20:28 2005