Geant4
10.03.p02
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
CCalPrimaryGeneratorAction.hh
Go to the documentation of this file.
1
//
2
// ********************************************************************
3
// * License and Disclaimer *
4
// * *
5
// * The Geant4 software is copyright of the Copyright Holders of *
6
// * the Geant4 Collaboration. It is provided under the terms and *
7
// * conditions of the Geant4 Software License, included in the file *
8
// * LICENSE and available at http://cern.ch/geant4/license . These *
9
// * include a list of copyright holders. *
10
// * *
11
// * Neither the authors of this software system, nor their employing *
12
// * institutes,nor the agencies providing financial support for this *
13
// * work make any representation or warranty, express or implied, *
14
// * regarding this software system or assume any liability for its *
15
// * use. Please see the license in the file LICENSE and URL above *
16
// * for the full disclaimer and the limitation of liability. *
17
// * *
18
// * This code implementation is the result of the scientific and *
19
// * technical work of the GEANT4 collaboration. *
20
// * By using, copying, modifying or distributing the software (or *
21
// * any work based on the software) you agree to acknowledge its *
22
// * use in resulting scientific publications, and indicate your *
23
// * acceptance of all terms of the Geant4 Software license. *
24
// ********************************************************************
25
//
27
// File: CCalPrimaryGeneratorAction.hh
28
// Description: Sets up particle beam
29
//
30
// By default 1 pi+ is shot from (0,0,0)
31
// in (1,1,0.1) direction at 100 GeV
32
// Use /gun/... commands to modify energy,origin,direction at run time.
33
// or/and
34
// /CCal/generator/random true/false to have random direction
35
// /CCal/generator/scan true/false to scan in eta/phi
36
// Use
37
// /CCal/generator/minEnergy
38
// /CCal/generator/maxEnergy
39
// /CCal/generator/minPhi
40
// /CCal/generator/maxPhi
41
// /CCal/generator/minEta
42
// /CCal/generator/maxEta
43
// to set the range in energy and direction of particles shot at random.
44
// Use
45
// /CCal/generator/stepsPhi
46
// /CCal/generator/stepsEta
47
// to set number of steps in Phi and Eta for the scan
48
//
50
51
52
#ifndef CCalPrimaryGeneratorAction_h
53
#define CCalPrimaryGeneratorAction_h 1
54
55
#include "
G4VUserPrimaryGeneratorAction.hh
"
56
#include "
G4ParticleGun.hh
"
57
#include "
G4ThreeVector.hh
"
58
#include "
G4ios.hh
"
59
#include "
G4Event.hh
"
60
#include "
G4VPrimaryGenerator.hh
"
61
62
#include "
CCalPrimaryGeneratorMessenger.hh
"
63
64
enum
generatorInputType
{
singleFixed
,
singleRandom
,
singleScan
};
65
66
class
CCalPrimaryGeneratorAction
:
public
G4VUserPrimaryGeneratorAction
{
67
public
:
68
CCalPrimaryGeneratorAction
();
69
~CCalPrimaryGeneratorAction
();
70
71
public
:
72
void
GeneratePrimaries
(
G4Event
* anEvent);
73
74
public
:
75
void
SetVerboseLevel
(
G4int
val);
76
void
SetRandom
(
G4String
val);
77
void
SetScan
(
G4String
val);
78
void
SetMinimumEnergy
(
G4double
p
);
79
void
SetMaximumEnergy
(
G4double
p);
80
void
SetMinimumPhi
(
G4double
p);
81
void
SetMaximumPhi
(
G4double
p);
82
void
SetStepsPhi
(
G4int
val);
83
void
SetMinimumEta
(
G4double
p);
84
void
SetMaximumEta
(
G4double
p);
85
void
SetStepsEta
(
G4int
val);
86
void
SetGunPosition
(
const
G4ThreeVector
&
pos
)
const
;
87
void
SetRunNo
(
G4int
val);
88
89
public
:
90
G4ThreeVector
GetParticlePosition
() {
return
particleGun->
GetParticlePosition
();}
91
G4double
GetParticleEnergy
() {
return
particleGun->
GetParticleEnergy
();}
92
93
private
:
94
CCalPrimaryGeneratorMessenger
* gunMessenger;
95
G4ParticleGun
* particleGun;
96
generatorInputType
generatorInput;
97
98
G4int
verboseLevel;
99
G4int
n_particle;
100
G4String
particleName;
101
G4double
particleEnergy;
102
G4ThreeVector
particlePosition;
103
G4ThreeVector
particleDir;
104
105
G4double
energyMin,energyMax;
106
G4double
etaMin,etaMax;
107
G4double
phiMin,phiMax;
108
G4int
etaSteps,phiSteps;
109
110
G4int
isInitialized;
111
G4double
etaValue, phiValue;
112
G4int
scanSteps;
113
114
private
:
115
void
initialize();
116
void
print(
G4int
val);
117
118
};
119
120
#endif
121
122
123
CCalPrimaryGeneratorAction
Definition:
CCalPrimaryGeneratorAction.hh:66
CLHEP::Hep3Vector
Definition:
ThreeVector.h:41
CCalPrimaryGeneratorMessenger.hh
G4VUserPrimaryGeneratorAction.hh
CCalPrimaryGeneratorAction::SetVerboseLevel
void SetVerboseLevel(G4int val)
Definition:
CCalPrimaryGeneratorAction.cc:168
CCalPrimaryGeneratorAction::GeneratePrimaries
void GeneratePrimaries(G4Event *anEvent)
Definition:
CCalPrimaryGeneratorAction.cc:89
p
const char * p
Definition:
xmltok.h:285
CCalPrimaryGeneratorAction::SetMinimumEta
void SetMinimumEta(G4double p)
Definition:
CCalPrimaryGeneratorAction.cc:288
CCalPrimaryGeneratorAction::SetRunNo
void SetRunNo(G4int val)
Definition:
CCalPrimaryGeneratorAction.cc:333
CCalPrimaryGeneratorAction::~CCalPrimaryGeneratorAction
~CCalPrimaryGeneratorAction()
Definition:
CCalPrimaryGeneratorAction.cc:82
CCalPrimaryGeneratorAction::SetMaximumEta
void SetMaximumEta(G4double p)
Definition:
CCalPrimaryGeneratorAction.cc:300
G4VPrimaryGenerator::GetParticlePosition
G4ThreeVector GetParticlePosition()
Definition:
G4VPrimaryGenerator.hh:65
CCalPrimaryGeneratorAction::SetStepsPhi
void SetStepsPhi(G4int val)
Definition:
CCalPrimaryGeneratorAction.cc:270
G4int
int G4int
Definition:
G4Types.hh:78
generatorInputType
generatorInputType
Definition:
CCalPrimaryGeneratorAction.hh:64
CCalPrimaryGeneratorAction::CCalPrimaryGeneratorAction
CCalPrimaryGeneratorAction()
Definition:
CCalPrimaryGeneratorAction.cc:49
CCalPrimaryGeneratorAction::SetStepsEta
void SetStepsEta(G4int val)
Definition:
CCalPrimaryGeneratorAction.cc:312
CCalPrimaryGeneratorAction::GetParticlePosition
G4ThreeVector GetParticlePosition()
Definition:
CCalPrimaryGeneratorAction.hh:90
CCalPrimaryGeneratorAction::SetScan
void SetScan(G4String val)
Definition:
CCalPrimaryGeneratorAction.cc:185
CCalPrimaryGeneratorAction::SetRandom
void SetRandom(G4String val)
Definition:
CCalPrimaryGeneratorAction.cc:173
CCalPrimaryGeneratorAction::SetGunPosition
void SetGunPosition(const G4ThreeVector &pos) const
Definition:
CCalPrimaryGeneratorAction.cc:328
singleFixed
Definition:
CCalPrimaryGeneratorAction.hh:64
singleRandom
Definition:
CCalPrimaryGeneratorAction.hh:64
CCalPrimaryGeneratorAction::SetMinimumEnergy
void SetMinimumEnergy(G4double p)
Definition:
CCalPrimaryGeneratorAction.cc:198
CCalPrimaryGeneratorAction::SetMinimumPhi
void SetMinimumPhi(G4double p)
Definition:
CCalPrimaryGeneratorAction.cc:234
G4ios.hh
G4ParticleGun
Definition:
G4ParticleGun.hh:62
CCalPrimaryGeneratorAction::SetMaximumEnergy
void SetMaximumEnergy(G4double p)
Definition:
CCalPrimaryGeneratorAction.cc:216
CCalPrimaryGeneratorAction::SetMaximumPhi
void SetMaximumPhi(G4double p)
Definition:
CCalPrimaryGeneratorAction.cc:252
CCalPrimaryGeneratorAction::GetParticleEnergy
G4double GetParticleEnergy()
Definition:
CCalPrimaryGeneratorAction.hh:91
G4ParticleGun.hh
G4double
double G4double
Definition:
G4Types.hh:76
CCalPrimaryGeneratorMessenger
Definition:
CCalPrimaryGeneratorMessenger.hh:44
G4ThreeVector.hh
G4Event.hh
G4VPrimaryGenerator.hh
pos
static const G4double pos
Definition:
G4ElectroNuclearCrossSection.cc:66
G4Event
Definition:
G4Event.hh:52
G4ParticleGun::GetParticleEnergy
G4double GetParticleEnergy() const
Definition:
G4ParticleGun.hh:110
singleScan
Definition:
CCalPrimaryGeneratorAction.hh:64
G4String
Definition:
G4String.hh:45
G4VUserPrimaryGeneratorAction
Definition:
G4VUserPrimaryGeneratorAction.hh:48
source
geant4.10.03.p02
examples
advanced
composite_calorimeter
include
CCalPrimaryGeneratorAction.hh
Generated on Tue Nov 28 2017 21:43:08 for Geant4 by
1.8.5