REST-for-Physics  v2.3
Rare Event Searches ToolKit for Physics
TRestGeant4ParticleSourceCosmics.h
1
2#ifndef REST_TRESTGEANT4PARTICLESOURCECOSMICS_H
3#define REST_TRESTGEANT4PARTICLESOURCECOSMICS_H
4
5#include <TH2D.h>
6#include <TRandom3.h>
7#include <TRestGeant4ParticleSource.h>
8
10 private:
11 std::set<std::string> fParticleNames;
12 std::string fFilename;
13 std::map<std::string, double> fParticleWeights;
14
15 std::map<std::string, TH2D*> fHistograms;
16 std::map<std::string, TH2D*> fHistogramsTransformed;
17
18 static std::mutex fMutex;
19 static std::unique_ptr<TRandom3> fRandom;
20
21 public:
22 void Update() override;
23 void InitFromConfigFile() override;
24
25 static void SetSeed(unsigned int seed);
26
29
30 const char* GetName() const override { return "TRestGeant4ParticleSourceCosmics"; }
31
32 std::map<std::string, TH2D*> GetHistogramsTransformed() const { return fHistogramsTransformed; }
33
34 ClassDefOverride(TRestGeant4ParticleSourceCosmics, 2);
35};
36
37#endif // REST_TRESTGEANT4PARTICLESOURCECOSMICS_H
void InitFromConfigFile() override
To make settings from rml file. This method must be implemented in the derived class.