VMC Examples
Version 6.8
Toggle main menu visibility
Loading...
Searching...
No Matches
examples
A01
include
A01PrimaryGenerator.h
Go to the documentation of this file.
1
#ifndef A01_PRIMARY_GENERATOR_H
2
#define A01_PRIMARY_GENERATOR_H
3
4
//------------------------------------------------
5
// The Virtual Monte Carlo examples
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
13
/// \file A01PrimaryGenerator.h
14
/// \brief Definition of the A01PrimaryGenerator class
15
///
16
/// Geant4 example A01 adapted to Virtual Monte Carlo: \n
17
///
18
/// \author I. Hrivnacova; IPN, Orsay
19
20
#include <TVirtualMCApplication.h>
21
22
class
TVirtualMCStack
;
23
class
TVector3;
24
25
class
A01DetectorConstruction
;
26
27
/// \ingroup A01
28
/// \brief The primary generator
29
///
30
/// \date 12/05/2012
31
/// \author I. Hrivnacova; IPN, Orsay
32
33
class
A01PrimaryGenerator
:
public
TObject
34
{
35
public
:
36
A01PrimaryGenerator
(
TVirtualMCStack
* stack);
37
A01PrimaryGenerator
(
38
const
A01PrimaryGenerator
& origin,
TVirtualMCStack
* stack);
39
A01PrimaryGenerator
();
40
virtual
~A01PrimaryGenerator
();
41
42
// methods
43
virtual
void
GeneratePrimaries
();
44
45
// set methods
46
void
SetNofPrimaries
(Int_t nofPrimaries);
47
void
SetMomentum
(Double_t val) {
fMomentum
= val; }
48
void
SetSigmaMomentum
(Double_t val) {
fSigmaMomentum
= val; }
49
void
SetSigmaAngle
(Double_t val) {
fSigmaAngle
= val; }
50
void
SetRandomize
(Bool_t val) {
fRandomizePrimary
= val; }
51
52
// get methods
53
Double_t
GetMomentum
()
const
{
return
fMomentum
; }
54
Double_t
GetSigmaMomentum
()
const
{
return
fSigmaMomentum
; }
55
Double_t
GetSigmaAngle
()
const
{
return
fSigmaAngle
; }
56
Bool_t
GetRandomize
()
const
{
return
fRandomizePrimary
; }
57
58
private
:
59
// methods
60
// void GeneratePrimary();
61
62
// data members
63
TVirtualMCStack
*
fStack
;
///< VMC stack
64
Int_t
fNofPrimaries
;
///< Number of primary particles
65
Int_t
fDefaultParticle
;
///< Default particle PDG
66
Double_t
fMomentum
;
///< Default particle momentum
67
Double_t
fSigmaMomentum
;
///< The sigma of particle momentum
68
Double_t
fSigmaAngle
;
///< The sigma of particle direction
69
Bool_t
fRandomizePrimary
;
///< Option to randomize primary particle type
70
71
ClassDef(
A01PrimaryGenerator
, 1)
// A01PrimaryGenerator
72
};
73
74
// inline functions
75
76
/// Set the number of particles to be generated
77
/// \param nofPrimaries The number of particles to be generated
78
inline
void
A01PrimaryGenerator::SetNofPrimaries
(Int_t nofPrimaries)
79
{
80
fNofPrimaries
= nofPrimaries;
81
}
82
83
#endif
// A01_PRIMARY_GENERATOR_H
A01DetectorConstruction
The detector construction (defined via Geant4).
Definition
A01DetectorConstruction.hh:64
A01PrimaryGenerator::GetSigmaMomentum
Double_t GetSigmaMomentum() const
Definition
A01PrimaryGenerator.h:54
A01PrimaryGenerator::SetNofPrimaries
void SetNofPrimaries(Int_t nofPrimaries)
Definition
A01PrimaryGenerator.h:78
A01PrimaryGenerator::GetRandomize
Bool_t GetRandomize() const
Definition
A01PrimaryGenerator.h:56
A01PrimaryGenerator::~A01PrimaryGenerator
virtual ~A01PrimaryGenerator()
Definition
A01PrimaryGenerator.cxx:81
A01PrimaryGenerator::GetMomentum
Double_t GetMomentum() const
Definition
A01PrimaryGenerator.h:53
A01PrimaryGenerator::SetRandomize
void SetRandomize(Bool_t val)
Definition
A01PrimaryGenerator.h:50
A01PrimaryGenerator::SetSigmaAngle
void SetSigmaAngle(Double_t val)
Definition
A01PrimaryGenerator.h:49
A01PrimaryGenerator::fStack
TVirtualMCStack * fStack
VMC stack.
Definition
A01PrimaryGenerator.h:63
A01PrimaryGenerator::fNofPrimaries
Int_t fNofPrimaries
Number of primary particles.
Definition
A01PrimaryGenerator.h:64
A01PrimaryGenerator::fMomentum
Double_t fMomentum
Default particle momentum.
Definition
A01PrimaryGenerator.h:66
A01PrimaryGenerator::fSigmaAngle
Double_t fSigmaAngle
The sigma of particle direction.
Definition
A01PrimaryGenerator.h:68
A01PrimaryGenerator::fSigmaMomentum
Double_t fSigmaMomentum
The sigma of particle momentum.
Definition
A01PrimaryGenerator.h:67
A01PrimaryGenerator::A01PrimaryGenerator
A01PrimaryGenerator(TVirtualMCStack *stack)
Definition
A01PrimaryGenerator.cxx:35
A01PrimaryGenerator::fRandomizePrimary
Bool_t fRandomizePrimary
Option to randomize primary particle type.
Definition
A01PrimaryGenerator.h:69
A01PrimaryGenerator::fDefaultParticle
Int_t fDefaultParticle
Default particle PDG.
Definition
A01PrimaryGenerator.h:65
A01PrimaryGenerator::A01PrimaryGenerator
A01PrimaryGenerator()
Definition
A01PrimaryGenerator.cxx:67
A01PrimaryGenerator::SetSigmaMomentum
void SetSigmaMomentum(Double_t val)
Definition
A01PrimaryGenerator.h:48
A01PrimaryGenerator::GetSigmaAngle
Double_t GetSigmaAngle() const
Definition
A01PrimaryGenerator.h:55
A01PrimaryGenerator::GeneratePrimaries
virtual void GeneratePrimaries()
Definition
A01PrimaryGenerator.cxx:91
A01PrimaryGenerator::SetMomentum
void SetMomentum(Double_t val)
Definition
A01PrimaryGenerator.h:47
TObject
TVirtualMCStack
Generated on
for VMC Examples by
1.17.0