REST-for-Physics  v2.3
Rare Event Searches ToolKit for Physics
Public Member Functions | Static Public Member Functions | Private Attributes | Static Private Attributes
TRestGeant4ParticleSourceCosmics Class Reference

Detailed Description

Definition at line 9 of file TRestGeant4ParticleSourceCosmics.h.

Inheritance diagram for TRestGeant4ParticleSourceCosmics:
TRestGeant4ParticleSource TRestGeant4Particle TRestMetadata

Public Member Functions

 ClassDefOverride (TRestGeant4ParticleSourceCosmics, 3)
 
double GetEnergyRangeScalingFactor () const
 
std::map< std::string, TH2D * > GetHistogramsTransformed () const
 
const char * GetName () const override
 
std::set< std::string > GetParticleNames () const
 
void InitFromConfigFile () override
 To make settings from rml file. This method must be implemented in the derived class. More...
 
void Update () override
 
- Public Member Functions inherited from TRestGeant4ParticleSource
void AddParticle (const TRestGeant4Particle &particle)
 
 ClassDefOverride (TRestGeant4ParticleSource, 6)
 
void FlushParticlesTemplate ()
 
TString GetAngularDistributionFilename () const
 
size_t GetAngularDistributionFormulaNPoints () const
 
const TF1 * GetAngularDistributionFunction () const
 
double GetAngularDistributionIsotropicConeHalfAngle () const
 
TString GetAngularDistributionNameInFile () const
 
TVector2 GetAngularDistributionRange () const
 
Double_t GetAngularDistributionRangeMax () const
 
Double_t GetAngularDistributionRangeMin () const
 
TString GetAngularDistributionType () const
 
TVector3 GetDirection () const
 
const TF2 * GetEnergyAndAngularDistributionFunction () const
 
TString GetEnergyDistributionFilename () const
 
size_t GetEnergyDistributionFormulaNPoints () const
 
const TF1 * GetEnergyDistributionFunction () const
 
TString GetEnergyDistributionNameInFile () const
 
TVector2 GetEnergyDistributionRange () const
 
Double_t GetEnergyDistributionRangeMax () const
 
Double_t GetEnergyDistributionRangeMin () const
 
TString GetEnergyDistributionType () const
 
TString GetGenFilename () const
 
std::vector< TRestGeant4ParticleGetParticles () const
 
virtual void InitFromConfigFile () override
 To make settings from rml file. This method must be implemented in the derived class. More...
 
virtual void PrintMetadata () override
 Implemented it in the derived metadata class to print out specific metadata information. More...
 
void RemoveParticles ()
 
void RemoveTemplates ()
 
void SetAngularDistributionFilename (const TString &filename)
 
void SetAngularDistributionFormula (const TString &formula)
 
void SetAngularDistributionFormulaNPoints (size_t nPoints)
 
void SetAngularDistributionIsotropicConeHalfAngle (double angle)
 
void SetAngularDistributionNameInFile (const TString &name)
 
void SetAngularDistributionRange (const TVector2 &range)
 
void SetAngularDistributionType (const TString &type)
 
void SetEnergyAndAngularDistributionFormula (const TString &formula)
 
void SetEnergyDistributionFilename (const TString &filename)
 
void SetEnergyDistributionFormula (const TString &formula)
 
void SetEnergyDistributionFormulaNPoints (size_t nPoints)
 
void SetEnergyDistributionNameInFile (const TString &name)
 
void SetEnergyDistributionRange (const TVector2 &range)
 
void SetEnergyDistributionType (const TString &type)
 
void SetGenFilename (const TString &name)
 
void SetRandomMethod (double(*method)())
 
virtual void Update ()
 
- Public Member Functions inherited from TRestGeant4Particle
Double_t GetEnergy () const
 
Double_t GetExcitationLevel () const
 
TVector3 GetMomentumDirection () const
 
TVector3 GetOrigin () const
 
Int_t GetParticleCharge () const
 
TString GetParticleName () const
 
void Print () const
 Prints on screen the details about the Geant4 simulation conditions, stored in TRestGeant4Metadata. More...
 
void SetDirection (const TVector3 &dir)
 
void SetEnergy (Double_t en)
 
void SetExcitationLevel (Double_t excitationEnergy)
 
void SetOrigin (const TVector3 &pos)
 
void SetParticle (TRestGeant4Particle particle)
 A copy method. More...
 
void SetParticleCharge (Int_t charge)
 
void SetParticleName (TString particle)
 

Static Public Member Functions

static void SetSeed (unsigned int seed)
 
- Static Public Member Functions inherited from TRestGeant4ParticleSource
static TRestGeant4ParticleSourceinstantiate (std::string model="")
 

Private Attributes

unsigned long long fCounterEnergyAccepted = 0
 
unsigned long long fCounterEnergyTotal = 0
 
std::pair< double, double > fEnergyRange = {0, 0}
 
std::string fFilename
 
std::map< std::string, TH2D * > fHistograms
 
std::map< std::string, TH2D * > fHistogramsTransformed
 
std::set< std::string > fParticleNames
 
std::map< std::string, double > fParticleWeights
 

Static Private Attributes

static std::mutex fMutex
 
static std::unique_ptr< TRandom3 > fRandom = nullptr
 

Additional Inherited Members

- Protected Attributes inherited from TRestGeant4ParticleSource
TString fAngularDistributionFilename
 
size_t fAngularDistributionFormulaNPoints = 500
 
TF1 * fAngularDistributionFunction = nullptr
 
double fAngularDistributionIsotropicConeHalfAngle = 0
 
TString fAngularDistributionNameInFile
 
TVector2 fAngularDistributionRange
 
TString fAngularDistributionType = "Flux"
 
TF2 * fEnergyAndAngularDistributionFunction = nullptr
 
TString fEnergyDistributionFilename
 
size_t fEnergyDistributionFormulaNPoints = 5000
 
TF1 * fEnergyDistributionFunction = nullptr
 
TString fEnergyDistributionNameInFile
 
TVector2 fEnergyDistributionRange
 
TString fEnergyDistributionType = "Mono"
 
TString fGenFilename
 
std::vector< TRestGeant4ParticlefParticles
 
std::vector< std::vector< TRestGeant4Particle > > fParticlesTemplate
 
double(* fRandomMethod )()
 
- Protected Attributes inherited from TRestGeant4Particle
Int_t fCharge = 0
 
TVector3 fDirection = {1, 0, 0}
 
Double_t fEnergy = 0
 
Double_t fExcitationLevel = 0
 
TVector3 fOrigin
 
TString fParticleName
 

Member Function Documentation

◆ GetEnergyRangeScalingFactor()

double TRestGeant4ParticleSourceCosmics::GetEnergyRangeScalingFactor ( ) const

Definition at line 172 of file TRestGeant4ParticleSourceCosmics.cxx.

◆ GetHistogramsTransformed()

std::map< std::string, TH2D * > TRestGeant4ParticleSourceCosmics::GetHistogramsTransformed ( ) const
inline

Definition at line 36 of file TRestGeant4ParticleSourceCosmics.h.

◆ GetName()

const char * TRestGeant4ParticleSourceCosmics::GetName ( ) const
inlineoverride

Definition at line 34 of file TRestGeant4ParticleSourceCosmics.h.

◆ GetParticleNames()

std::set< std::string > TRestGeant4ParticleSourceCosmics::GetParticleNames ( ) const
inline

Definition at line 37 of file TRestGeant4ParticleSourceCosmics.h.

◆ InitFromConfigFile()

void TRestGeant4ParticleSourceCosmics::InitFromConfigFile ( )
overridevirtual

To make settings from rml file. This method must be implemented in the derived class.

Reimplemented from TRestGeant4ParticleSource.

Definition at line 28 of file TRestGeant4ParticleSourceCosmics.cxx.

◆ SetSeed()

void TRestGeant4ParticleSourceCosmics::SetSeed ( unsigned int  seed)
static

Definition at line 167 of file TRestGeant4ParticleSourceCosmics.cxx.

◆ Update()

void TRestGeant4ParticleSourceCosmics::Update ( )
overridevirtual

Reimplemented from TRestGeant4ParticleSource.

Definition at line 102 of file TRestGeant4ParticleSourceCosmics.cxx.

Field Documentation

◆ fCounterEnergyAccepted

unsigned long long TRestGeant4ParticleSourceCosmics::fCounterEnergyAccepted = 0
private

Definition at line 17 of file TRestGeant4ParticleSourceCosmics.h.

◆ fCounterEnergyTotal

unsigned long long TRestGeant4ParticleSourceCosmics::fCounterEnergyTotal = 0
private

Definition at line 16 of file TRestGeant4ParticleSourceCosmics.h.

◆ fEnergyRange

std::pair<double, double> TRestGeant4ParticleSourceCosmics::fEnergyRange = {0, 0}
private

Definition at line 14 of file TRestGeant4ParticleSourceCosmics.h.

◆ fFilename

std::string TRestGeant4ParticleSourceCosmics::fFilename
private

Definition at line 12 of file TRestGeant4ParticleSourceCosmics.h.

◆ fHistograms

std::map<std::string, TH2D*> TRestGeant4ParticleSourceCosmics::fHistograms
private

Definition at line 19 of file TRestGeant4ParticleSourceCosmics.h.

◆ fHistogramsTransformed

std::map<std::string, TH2D*> TRestGeant4ParticleSourceCosmics::fHistogramsTransformed
private

Definition at line 20 of file TRestGeant4ParticleSourceCosmics.h.

◆ fMutex

mutex TRestGeant4ParticleSourceCosmics::fMutex
staticprivate

Definition at line 22 of file TRestGeant4ParticleSourceCosmics.h.

◆ fParticleNames

std::set<std::string> TRestGeant4ParticleSourceCosmics::fParticleNames
private

Definition at line 11 of file TRestGeant4ParticleSourceCosmics.h.

◆ fParticleWeights

std::map<std::string, double> TRestGeant4ParticleSourceCosmics::fParticleWeights
private

Definition at line 13 of file TRestGeant4ParticleSourceCosmics.h.

◆ fRandom

unique_ptr< TRandom3 > TRestGeant4ParticleSourceCosmics::fRandom = nullptr
staticprivate

Definition at line 23 of file TRestGeant4ParticleSourceCosmics.h.


The documentation for this class was generated from the following files: