HerdSoftware  0.4.0
IsoSphereGenerator.h
Go to the documentation of this file.
1 /*
2  * TanakaGenerator.h
3  *
4  * Created on: 20 Feb 2018
5  * Author: Fabio Gargano
6  */
7 
8 #ifndef ISOSPHEREGENERATOR_H_
9 #define ISOSPHEREGENERATOR_H_
10 
11 #include "G4ThreeVector.hh"
12 #include "G4VUserPrimaryGeneratorAction.hh"
13 class G4GenericMessenger;
14 
15 class G4GeneralParticleSource;
16 
17 class IsoSphereGenerator : public G4VUserPrimaryGeneratorAction {
18 
19 public:
21 
22  ~IsoSphereGenerator() override;
23 
24  void GeneratePrimaries(G4Event *anEvent) override;
25 
26  void SetRadius(const float radius) { m_dVertexRadius = radius; };
27  void SetMinTheta(const float minTheta) { m_minTheta = minTheta; };
28  void SetMaxTheta(const float maxTheta) { m_maxTheta = maxTheta; };
29  void SetSphereCenter(const G4ThreeVector center) { m_SphereCenter = center; }
30 
31 private:
32  G4GenericMessenger *m_messenger;
33  float m_minTheta, m_maxTheta; // Angle between trajectory and vertical axis
36  G4ThreeVector m_SphereCenter;
37 
38  G4GeneralParticleSource *m_particleSource;
39 };
40 
41 #endif /* ISOSPHEREGENERATOR_H_ */
IsoSphereGenerator::GeneratePrimaries
void GeneratePrimaries(G4Event *anEvent) override
Definition: IsoSphereGenerator.cpp:62
IsoSphereGenerator::SetRadius
void SetRadius(const float radius)
Definition: IsoSphereGenerator.h:26
IsoSphereGenerator
Definition: IsoSphereGenerator.h:17
IsoSphereGenerator::SetMinTheta
void SetMinTheta(const float minTheta)
Definition: IsoSphereGenerator.h:27
IsoSphereGenerator::m_messenger
G4GenericMessenger * m_messenger
Definition: IsoSphereGenerator.h:32
IsoSphereGenerator::m_maxTheta
float m_maxTheta
Definition: IsoSphereGenerator.h:33
IsoSphereGenerator::~IsoSphereGenerator
~IsoSphereGenerator() override
Definition: IsoSphereGenerator.cpp:57
IsoSphereGenerator::m_particleSource
G4GeneralParticleSource * m_particleSource
Definition: IsoSphereGenerator.h:38
IsoSphereGenerator::SetMaxTheta
void SetMaxTheta(const float maxTheta)
Definition: IsoSphereGenerator.h:28
IsoSphereGenerator::m_minTheta
float m_minTheta
Definition: IsoSphereGenerator.h:33
IsoSphereGenerator::m_dVertexRadius
float m_dVertexRadius
Definition: IsoSphereGenerator.h:34
IsoSphereGenerator::m_firstEvent
bool m_firstEvent
Definition: IsoSphereGenerator.h:35
IsoSphereGenerator::m_SphereCenter
G4ThreeVector m_SphereCenter
Definition: IsoSphereGenerator.h:36
IsoSphereGenerator::SetSphereCenter
void SetSphereCenter(const G4ThreeVector center)
Definition: IsoSphereGenerator.h:29
IsoSphereGenerator::IsoSphereGenerator
IsoSphereGenerator()
Definition: IsoSphereGenerator.cpp:22