REST-for-Physics  v2.3
Rare Event Searches ToolKit for Physics
TRestGeant4PhysicsLists.h
1
16
17#ifndef RestCore_TRestGeant4PhysicsLists
18#define RestCore_TRestGeant4PhysicsLists
19
20#include <TRestMetadata.h>
21#include <TString.h>
22#include <stdio.h>
23#include <stdlib.h>
24
25#include <cstdio>
26#include <cstring>
27#include <fstream>
28#include <iostream>
29#include <vector>
30
32 private:
33 void Initialize() override;
34
35 void InitFromConfigFile() override;
36
37 TString GetPhysicsListOptionString(const TString& physicsListName) const;
38
39 std::vector<TString> fPhysicsLists;
40 std::vector<TString> fPhysicsListOptions;
41
42 Double_t fCutForElectron;
43 Double_t fCutForGamma;
44 Double_t fCutForPositron;
45 Double_t fCutForMuon;
46 Double_t fCutForNeutron;
47 Double_t fMinEnergyRangeProductionCuts;
48 Double_t fMaxEnergyRangeProductionCuts;
49
50 std::vector<std::string> fIonLimitStepList;
51
52 public:
53 inline Double_t GetCutForGamma() const { return fCutForGamma; }
54 inline Double_t GetCutForElectron() const { return fCutForElectron; }
55 inline Double_t GetCutForPositron() const { return fCutForPositron; }
56 inline Double_t GetCutForMuon() const { return fCutForMuon; }
57 inline Double_t GetCutForNeutron() const { return fCutForNeutron; }
58
59 std::vector<std::string> GetIonStepList() const { return fIonLimitStepList; }
60
61 inline Double_t GetMinimumEnergyProductionCuts() const { return fMinEnergyRangeProductionCuts; }
62 inline Double_t GetMaximumEnergyProductionCuts() const { return fMaxEnergyRangeProductionCuts; }
63
64 Int_t FindPhysicsList(const TString& physicsListName) const;
65 Bool_t PhysicsListExists(const TString& physicsListName) const;
66
67 TString GetPhysicsListOptionValue(const TString& physicsListName, const TString& option,
68 const TString& defaultValue = "NotDefined") const;
69
70 void PrintMetadata() override;
71
72 // Constructors
74 TRestGeant4PhysicsLists(const char* configFilename, std::string name = "");
75 // Destructor
77
78 ClassDefOverride(TRestGeant4PhysicsLists, 2);
79};
80#endif
void InitFromConfigFile() override
To make settings from rml file. This method must be implemented in the derived class.
void PrintMetadata() override
Implemented it in the derived metadata class to print out specific metadata information.
void Initialize() override
Making default settings.
A base class for any REST metadata class.
Definition: TRestMetadata.h:70