HerdSoftware  0.1.1
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 
23 
24  void GeneratePrimaries(G4Event *anEvent);
25 
26  void SetRadius(const float radius) { _dVertexRadius = radius; };
27  void SetMinTheta(const float minTheta) { _minTheta = minTheta; };
28  void SetMaxTheta(const float maxTheta) { _maxTheta = maxTheta; };
29  void SetSphereCenter(const G4ThreeVector center) { _SphereCenter = center; }
30 
31 private:
32  G4GenericMessenger *_messenger;
33  float _minTheta, _maxTheta; // Angle between trajectory and vertical axis
36  G4ThreeVector _SphereCenter;
37 
38  G4GeneralParticleSource *_particleSource;
39 };
40 
41 #endif /* ISOSPHEREGENERATOR_H_ */
G4GenericMessenger * _messenger
Definition: IsoSphereGenerator.h:32
void SetMinTheta(const float minTheta)
Definition: IsoSphereGenerator.h:27
~IsoSphereGenerator()
Definition: IsoSphereGenerator.cpp:56
float _maxTheta
Definition: IsoSphereGenerator.h:33
float _dVertexRadius
Definition: IsoSphereGenerator.h:34
void SetSphereCenter(const G4ThreeVector center)
Definition: IsoSphereGenerator.h:29
float _minTheta
Definition: IsoSphereGenerator.h:33
void GeneratePrimaries(G4Event *anEvent)
Definition: IsoSphereGenerator.cpp:61
void SetRadius(const float radius)
Definition: IsoSphereGenerator.h:26
G4ThreeVector _SphereCenter
Definition: IsoSphereGenerator.h:36
G4GeneralParticleSource * _particleSource
Definition: IsoSphereGenerator.h:38
IsoSphereGenerator()
Definition: IsoSphereGenerator.cpp:22
Definition: IsoSphereGenerator.h:17
void SetMaxTheta(const float maxTheta)
Definition: IsoSphereGenerator.h:28
bool _firstEvent
Definition: IsoSphereGenerator.h:35