Geant4
v4-10.4-release
메인 페이지
관련된 페이지
모듈
네임스페이스
클래스
파일들
파일 목록
파일 멤버
모두
클래스
네임스페이스들
파일들
함수
변수
타입정의
열거형 타입
열거형 멤버
Friends
매크로
그룹들
페이지들
examples
advanced
composite_calorimeter
include
CCalPrimaryGeneratorAction.hh
이 파일의 문서화 페이지로 가기
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
G4ParticleGun.hh
singleScan
Definition:
CCalPrimaryGeneratorAction.hh:64
CCalPrimaryGeneratorAction::particleName
G4String particleName
Definition:
CCalPrimaryGeneratorAction.hh:100
pos
static const G4double pos
Definition:
G4ElectroNuclearCrossSection.cc:66
G4ParticleGun
Definition:
G4ParticleGun.hh:62
generatorInputType
generatorInputType
Definition:
CCalPrimaryGeneratorAction.hh:64
CCalPrimaryGeneratorAction::SetGunPosition
void SetGunPosition(const G4ThreeVector &pos) const
Definition:
CCalPrimaryGeneratorAction.cc:328
CCalPrimaryGeneratorAction::phiMax
G4double phiMax
Definition:
CCalPrimaryGeneratorAction.hh:107
CCalPrimaryGeneratorAction::CCalPrimaryGeneratorAction
CCalPrimaryGeneratorAction()
Definition:
CCalPrimaryGeneratorAction.cc:49
CCalPrimaryGeneratorAction::scanSteps
G4int scanSteps
Definition:
CCalPrimaryGeneratorAction.hh:112
G4ios.hh
CCalPrimaryGeneratorAction::generatorInput
generatorInputType generatorInput
Definition:
CCalPrimaryGeneratorAction.hh:96
p
const char * p
Definition:
xmltok.h:285
G4String
Definition:
examples/extended/parallel/TopC/ParN02/AnnotatedFiles/G4String.hh:45
CCalPrimaryGeneratorAction::particlePosition
G4ThreeVector particlePosition
Definition:
CCalPrimaryGeneratorAction.hh:102
CCalPrimaryGeneratorAction::etaMin
G4double etaMin
Definition:
CCalPrimaryGeneratorAction.hh:106
CCalPrimaryGeneratorAction::SetRunNo
void SetRunNo(G4int val)
Definition:
CCalPrimaryGeneratorAction.cc:333
CCalPrimaryGeneratorAction::SetScan
void SetScan(G4String val)
Definition:
CCalPrimaryGeneratorAction.cc:185
CCalPrimaryGeneratorAction::SetMinimumEta
void SetMinimumEta(G4double p)
Definition:
CCalPrimaryGeneratorAction.cc:288
CCalPrimaryGeneratorAction::particleDir
G4ThreeVector particleDir
Definition:
CCalPrimaryGeneratorAction.hh:103
CCalPrimaryGeneratorAction::SetStepsEta
void SetStepsEta(G4int val)
Definition:
CCalPrimaryGeneratorAction.cc:312
CCalPrimaryGeneratorAction::phiSteps
G4int phiSteps
Definition:
CCalPrimaryGeneratorAction.hh:108
CCalPrimaryGeneratorAction::energyMin
G4double energyMin
Definition:
CCalPrimaryGeneratorAction.hh:105
CCalPrimaryGeneratorAction::particleGun
G4ParticleGun * particleGun
Definition:
CCalPrimaryGeneratorAction.hh:95
CCalPrimaryGeneratorAction::SetMaximumEta
void SetMaximumEta(G4double p)
Definition:
CCalPrimaryGeneratorAction.cc:300
G4Event.hh
G4VUserPrimaryGeneratorAction.hh
G4double
double G4double
Definition:
G4Types.hh:76
G4Event
Definition:
G4Event.hh:52
CCalPrimaryGeneratorAction::SetRandom
void SetRandom(G4String val)
Definition:
CCalPrimaryGeneratorAction.cc:173
CCalPrimaryGeneratorAction::SetStepsPhi
void SetStepsPhi(G4int val)
Definition:
CCalPrimaryGeneratorAction.cc:270
CCalPrimaryGeneratorAction::verboseLevel
G4int verboseLevel
Definition:
CCalPrimaryGeneratorAction.hh:98
G4VUserPrimaryGeneratorAction
Definition:
G4VUserPrimaryGeneratorAction.hh:48
CCalPrimaryGeneratorAction::~CCalPrimaryGeneratorAction
~CCalPrimaryGeneratorAction()
Definition:
CCalPrimaryGeneratorAction.cc:82
CCalPrimaryGeneratorAction::etaMax
G4double etaMax
Definition:
CCalPrimaryGeneratorAction.hh:106
CCalPrimaryGeneratorAction::initialize
void initialize()
Definition:
CCalPrimaryGeneratorAction.cc:337
CCalPrimaryGeneratorAction::GetParticleEnergy
G4double GetParticleEnergy()
Definition:
CCalPrimaryGeneratorAction.hh:91
CCalPrimaryGeneratorAction::print
void print(G4int val)
Definition:
CCalPrimaryGeneratorAction.cc:345
CCalPrimaryGeneratorAction::energyMax
G4double energyMax
Definition:
CCalPrimaryGeneratorAction.hh:105
singleFixed
Definition:
CCalPrimaryGeneratorAction.hh:64
CCalPrimaryGeneratorAction::GeneratePrimaries
void GeneratePrimaries(G4Event *anEvent)
Definition:
CCalPrimaryGeneratorAction.cc:89
G4ThreeVector.hh
CCalPrimaryGeneratorAction::phiMin
G4double phiMin
Definition:
CCalPrimaryGeneratorAction.hh:107
CCalPrimaryGeneratorAction::SetVerboseLevel
void SetVerboseLevel(G4int val)
Definition:
CCalPrimaryGeneratorAction.cc:168
CCalPrimaryGeneratorMessenger
Definition:
CCalPrimaryGeneratorMessenger.hh:44
CLHEP::Hep3Vector
Definition:
ThreeVector.h:41
G4int
int G4int
Definition:
G4Types.hh:78
G4VPrimaryGenerator::GetParticlePosition
G4ThreeVector GetParticlePosition()
Definition:
G4VPrimaryGenerator.hh:65
CCalPrimaryGeneratorAction::n_particle
G4int n_particle
Definition:
CCalPrimaryGeneratorAction.hh:99
G4ParticleGun::GetParticleEnergy
G4double GetParticleEnergy() const
Definition:
G4ParticleGun.hh:110
CCalPrimaryGeneratorAction::isInitialized
G4int isInitialized
Definition:
CCalPrimaryGeneratorAction.hh:110
CCalPrimaryGeneratorAction::SetMinimumPhi
void SetMinimumPhi(G4double p)
Definition:
CCalPrimaryGeneratorAction.cc:234
CCalPrimaryGeneratorAction::phiValue
G4double phiValue
Definition:
CCalPrimaryGeneratorAction.hh:111
singleRandom
Definition:
CCalPrimaryGeneratorAction.hh:64
CCalPrimaryGeneratorMessenger.hh
CCalPrimaryGeneratorAction::particleEnergy
G4double particleEnergy
Definition:
CCalPrimaryGeneratorAction.hh:101
CCalPrimaryGeneratorAction::etaValue
G4double etaValue
Definition:
CCalPrimaryGeneratorAction.hh:111
CCalPrimaryGeneratorAction::etaSteps
G4int etaSteps
Definition:
CCalPrimaryGeneratorAction.hh:108
CCalPrimaryGeneratorAction::SetMaximumPhi
void SetMaximumPhi(G4double p)
Definition:
CCalPrimaryGeneratorAction.cc:252
CCalPrimaryGeneratorAction::gunMessenger
CCalPrimaryGeneratorMessenger * gunMessenger
Definition:
CCalPrimaryGeneratorAction.hh:94
CCalPrimaryGeneratorAction::SetMinimumEnergy
void SetMinimumEnergy(G4double p)
Definition:
CCalPrimaryGeneratorAction.cc:198
CCalPrimaryGeneratorAction::SetMaximumEnergy
void SetMaximumEnergy(G4double p)
Definition:
CCalPrimaryGeneratorAction.cc:216
G4VPrimaryGenerator.hh
CCalPrimaryGeneratorAction
Definition:
CCalPrimaryGeneratorAction.hh:66
CCalPrimaryGeneratorAction::GetParticlePosition
G4ThreeVector GetParticlePosition()
Definition:
CCalPrimaryGeneratorAction.hh:90
다음에 의해 생성됨 :
1.8.5