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

Detailed Description

RESTSoft : Software for Rare Event Searches with TPCs

TRestGeant4ParticleSource.h

Class to store a particle definition

jul 2015: First concept Created as part of the conceptualization of existing REST software. J. Galan

Definition at line 32 of file TRestGeant4ParticleSource.h.

#include <TRestGeant4ParticleSource.h>

Inheritance diagram for TRestGeant4ParticleSource:
TRestGeant4Particle TRestMetadata TRestGeant4ParticleSourceCry TRestGeant4ParticleSourceDecay0

Public Member Functions

void AddParticle (const TRestGeant4Particle &particle)
 
 ClassDefOverride (TRestGeant4ParticleSource, 5)
 
void FlushParticlesTemplate ()
 
TString GetAngularDistributionFilename () const
 
size_t GetAngularDistributionFormulaNPoints () const
 
const TF1 * GetAngularDistributionFunction () 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.
 
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 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.
 
void SetDirection (TVector3 dir)
 
void SetEnergy (Double_t en)
 
void SetExcitationLevel (Double_t excitationEnergy)
 
void SetOrigin (TVector3 pos)
 
void SetParticle (TRestGeant4Particle particle)
 A copy method.
 
void SetParticleCharge (Int_t charge)
 
void SetParticleName (TString particle)
 

Static Public Member Functions

static TRestGeant4ParticleSourceinstantiate (std::string model="")
 

Protected Attributes

TString fAngularDistributionFilename
 
size_t fAngularDistributionFormulaNPoints = 500
 
TF1 * fAngularDistributionFunction = nullptr
 
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
 

Private Member Functions

void ReadEventDataFile (TString fName)
 Reads an input file produced by Decay0. More...
 
bool ReadNewDecay0File (TString fileName)
 Reads particle information using the file format from newer Decay0 versions. More...
 
bool ReadOldDecay0File (TString fileName)
 Reads particle information using the file format from older Decay0 versions. More...
 

Additional Inherited Members

Member Function Documentation

◆ PrintMetadata()

void TRestGeant4ParticleSource::PrintMetadata ( )
overridevirtual

Implemented it in the derived metadata class to print out specific metadata information.

Prints metadata content on screen. Usually overloaded by the derived metadata class.

Reimplemented from TRestMetadata.

Reimplemented in TRestGeant4ParticleSourceDecay0, and TRestGeant4ParticleSourceCry.

Definition at line 35 of file TRestGeant4ParticleSource.cxx.

◆ ReadEventDataFile()

void TRestGeant4ParticleSource::ReadEventDataFile ( TString  fName)
private

Reads an input file produced by Decay0.

The input file should contain the description of several pre-generated events, providing the names (or ids) of particles to be produced, their energy, and momentum. The particles and their properties are stored in a TRestG4ParticleCollection which will be randomly accessed by the restG4 package.

Parameters
fNameThe Decay0 filename located at REST_PATH/data/generator/

Definition at line 162 of file TRestGeant4ParticleSource.cxx.

◆ ReadNewDecay0File()

bool TRestGeant4ParticleSource::ReadNewDecay0File ( TString  fileName)
private

Reads particle information using the file format from newer Decay0 versions.

This is an auxiliar method used in TRestG4Metadata::ReadEventDataFile that will read the Decay0 files produced with the newer Decay0 versions.

Definition at line 174 of file TRestGeant4ParticleSource.cxx.

◆ ReadOldDecay0File()

bool TRestGeant4ParticleSource::ReadOldDecay0File ( TString  fileName)
private

Reads particle information using the file format from older Decay0 versions.

This is an auxiliar method used in TRestG4Metadata::ReadEventDataFile that will read the Decay0 files produced with the newer Decay0 versions.

Definition at line 270 of file TRestGeant4ParticleSource.cxx.


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