Geant4 VMC
Version 6.8
Toggle main menu visibility
Loading...
Searching...
No Matches
source
run
include
TG4PrimaryGeneratorAction.h
Go to the documentation of this file.
1
#ifndef TG4_PRIMARY_GENERATOR_ACTION_H
2
#define TG4_PRIMARY_GENERATOR_ACTION_H
3
4
//------------------------------------------------
5
// The Geant4 Virtual Monte Carlo package
6
// Copyright (C) 2007 - 2014 Ivana Hrivnacova
7
// All rights reserved.
8
//
9
// For the licensing terms see geant4_vmc/LICENSE.
10
// Contact: root-vmc@cern.ch
11
//-------------------------------------------------
12
17
18
#include "
TG4Verbose.h
"
19
20
#include <G4VUserPrimaryGeneratorAction.hh>
21
#include <globals.hh>
22
23
class
TVirtualMCStack;
24
class
TMCManagerStack;
25
class
TParticle;
26
27
class
TG4PrimaryGeneratorMessenger
;
28
class
TG4ParticlesManager
;
29
class
TG4TrackManager
;
30
31
class
G4Event;
32
class
G4ParticleDefinition
;
33
class
G4PrimaryVertex;
34
40
41
class
TG4PrimaryGeneratorAction
:
public
G4VUserPrimaryGeneratorAction
,
42
public
TG4Verbose
43
{
44
public
:
45
TG4PrimaryGeneratorAction
();
46
virtual
~TG4PrimaryGeneratorAction
();
47
48
// methods
49
virtual
void
GeneratePrimaries
(G4Event* event);
50
51
// set methods
52
void
SetSkipUnknownParticles
(G4bool value);
53
54
// get methods
55
G4bool
GetSkipUnknownParticles
()
const
;
56
57
private
:
58
// methods
59
60
G4bool
CheckVMCStack
(TVirtualMCStack* stack)
const
;
61
G4bool
CheckParticleDefinition
(
const
G4ParticleDefinition
* particleDefinition,
62
const
TParticle* particle)
const
;
63
G4double
GetProperCharge
(
const
G4ParticleDefinition
* particleDefinition,
64
const
TParticle* particle)
const
;
65
G4PrimaryVertex*
AddParticleToVertex
(G4Event* event, G4PrimaryVertex* vertex,
66
const
G4ParticleDefinition
* particleDefinition,
67
const
G4ThreeVector& position, G4double time,
const
G4ThreeVector& momentum,
68
G4double energy,
const
G4ThreeVector& polarization, G4double charge,
69
G4double weight)
const
;
70
void
TransformPrimaries
(G4Event* event);
71
void
TransformTracks
(G4Event* event);
72
73
// data members
75
TG4PrimaryGeneratorMessenger
*
fMessenger
;
77
TG4ParticlesManager
*
fParticlesManager
;
79
TG4TrackManager
*
fTrackManager
;
81
TVirtualMCStack*
fMCStack
;
82
TMCManagerStack*
fMCManagerStack
;
84
G4bool
fCached
;
86
G4bool
fSkipUnknownParticles
;
87
};
88
89
// inline functions
90
92
inline
void
TG4PrimaryGeneratorAction::SetSkipUnknownParticles
(G4bool value)
93
{
94
fSkipUnknownParticles
= value;
95
}
96
98
inline
G4bool
TG4PrimaryGeneratorAction::GetSkipUnknownParticles
()
const
99
{
100
return
fSkipUnknownParticles
;
101
}
102
103
#endif
// TG4_PRIMARY_GENERATOR_ACTION_H
TG4Verbose.h
Definition of the TG4Verbose class.
G4ParticleDefinition
G4VUserPrimaryGeneratorAction
TG4ParticlesManager
Provides mapping between TDatabasePDG and Geant4 particles.
Definition
TG4ParticlesManager.h:48
TG4PrimaryGeneratorAction::fSkipUnknownParticles
G4bool fSkipUnknownParticles
Option to skip particles which do not exist in Geant4.
Definition
TG4PrimaryGeneratorAction.h:86
TG4PrimaryGeneratorAction::CheckParticleDefinition
G4bool CheckParticleDefinition(const G4ParticleDefinition *particleDefinition, const TParticle *particle) const
Definition
TG4PrimaryGeneratorAction.cxx:101
TG4PrimaryGeneratorAction::SetSkipUnknownParticles
void SetSkipUnknownParticles(G4bool value)
Set the option to skip particles which do not exist in Geant4.
Definition
TG4PrimaryGeneratorAction.h:92
TG4PrimaryGeneratorAction::GetSkipUnknownParticles
G4bool GetSkipUnknownParticles() const
Return the option to skip particles which do not exist in Geant4.
Definition
TG4PrimaryGeneratorAction.h:98
TG4PrimaryGeneratorAction::fParticlesManager
TG4ParticlesManager * fParticlesManager
Thread-local particles manager.
Definition
TG4PrimaryGeneratorAction.h:77
TG4PrimaryGeneratorAction::fMessenger
TG4PrimaryGeneratorMessenger * fMessenger
Messenger.
Definition
TG4PrimaryGeneratorAction.h:75
TG4PrimaryGeneratorAction::fMCStack
TVirtualMCStack * fMCStack
Thread-local stacks.
Definition
TG4PrimaryGeneratorAction.h:81
TG4PrimaryGeneratorAction::fCached
G4bool fCached
Flag whether thread-local variables have been cached.
Definition
TG4PrimaryGeneratorAction.h:84
TG4PrimaryGeneratorAction::AddParticleToVertex
G4PrimaryVertex * AddParticleToVertex(G4Event *event, G4PrimaryVertex *vertex, const G4ParticleDefinition *particleDefinition, const G4ThreeVector &position, G4double time, const G4ThreeVector &momentum, G4double energy, const G4ThreeVector &polarization, G4double charge, G4double weight) const
Definition
TG4PrimaryGeneratorAction.cxx:142
TG4PrimaryGeneratorAction::GeneratePrimaries
virtual void GeneratePrimaries(G4Event *event)
Definition
TG4PrimaryGeneratorAction.cxx:304
TG4PrimaryGeneratorAction::CheckVMCStack
G4bool CheckVMCStack(TVirtualMCStack *stack) const
Definition
TG4PrimaryGeneratorAction.cxx:83
TG4PrimaryGeneratorAction::TransformPrimaries
void TransformPrimaries(G4Event *event)
Definition
TG4PrimaryGeneratorAction.cxx:171
TG4PrimaryGeneratorAction::fTrackManager
TG4TrackManager * fTrackManager
Thread-local track manager.
Definition
TG4PrimaryGeneratorAction.h:79
TG4PrimaryGeneratorAction::~TG4PrimaryGeneratorAction
virtual ~TG4PrimaryGeneratorAction()
Definition
TG4PrimaryGeneratorAction.cxx:71
TG4PrimaryGeneratorAction::TransformTracks
void TransformTracks(G4Event *event)
Definition
TG4PrimaryGeneratorAction.cxx:229
TG4PrimaryGeneratorAction::GetProperCharge
G4double GetProperCharge(const G4ParticleDefinition *particleDefinition, const TParticle *particle) const
Definition
TG4PrimaryGeneratorAction.cxx:126
TG4PrimaryGeneratorAction::TG4PrimaryGeneratorAction
TG4PrimaryGeneratorAction()
Definition
TG4PrimaryGeneratorAction.cxx:55
TG4PrimaryGeneratorAction::fMCManagerStack
TMCManagerStack * fMCManagerStack
Definition
TG4PrimaryGeneratorAction.h:82
TG4PrimaryGeneratorMessenger
Messenger class that defines commands for TG4PrimaryGeneratorAction.
Definition
TG4PrimaryGeneratorMessenger.h:37
TG4TrackManager
The class for storing G4 tracks in VMC sack.
Definition
TG4TrackManager.h:53
TG4Verbose::TG4Verbose
TG4Verbose(const G4String &cmdName)
Definition
TG4Verbose.cxx:24
Generated on
for Geant4 VMC by
1.17.0