VMC Examples
Version 6.8
Toggle main menu visibility
Loading...
Searching...
No Matches
examples
Gflash
include
PrimaryGenerator.h
Go to the documentation of this file.
1
#ifndef GFLASH_PRIMARY_GENERATOR_H
2
#define GFLASH_PRIMARY_GENERATOR_H
3
4
//------------------------------------------------
5
// The Virtual Monte Carlo examples
6
// Copyright (C) 2007 - 2015 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 Gflash/include/PrimaryGenerator.h
14
/// \brief Definition of the Gflash::PrimaryGenerator class
15
///
16
/// Geant4 gflash example adapted to Virtual Monte Carlo.
17
///
18
/// \author I. Hrivnacova; IPN, Orsay
19
20
#include <TVector3.h>
21
#include <TVirtualMCApplication.h>
22
23
class
TVirtualMCStack
;
24
25
namespace
VMC
26
{
27
namespace
Gflash
28
{
29
30
class
DetectorConstruction
;
31
32
/// \ingroup Gflash
33
/// \brief The primary generator
34
///
35
/// Geant4 gflash example adapted to Virtual Monte Carlo.
36
///
37
/// \date 28/10/2015
38
/// \author I. Hrivnacova; IPN, Orsay
39
40
class
PrimaryGenerator
:
public
TObject
41
{
42
public
:
43
PrimaryGenerator
(
TVirtualMCStack
* stack);
44
PrimaryGenerator
(
const
PrimaryGenerator
& origin,
TVirtualMCStack
* stack);
45
PrimaryGenerator
();
46
virtual
~PrimaryGenerator
();
47
48
// methods
49
virtual
void
GeneratePrimaries
(
const
TVector3& worldSize);
50
51
// set methods
52
void
SetNofPrimaries
(Int_t nofPrimaries);
53
void
SetVertexPosition
(TVector3 position);
54
void
SetVertexDirection
(TVector3 direction);
55
56
// get methods
57
TVector3
GetVertexPosition
()
const
;
58
TVector3
GetVertexDirection
()
const
;
59
60
private
:
61
// methods
62
void
GenerateOnePrimary
(
const
TVector3& origin);
63
64
// data members
65
TVirtualMCStack
*
fStack
;
///< VMC stack
66
Int_t
fNofPrimaries
;
///< Number of primary particles
67
TVector3
fVertexPosition
;
///< Vertex position
68
TVector3
fVertexDirection
;
///< Vertex direction
69
70
ClassDef(
PrimaryGenerator
, 1)
// PrimaryGenerator
71
};
72
73
// inline functions
74
75
/// Set the number of particles to be generated
76
/// \param nofPrimaries The number of particles to be generated
77
inline
void
PrimaryGenerator::SetNofPrimaries
(Int_t nofPrimaries)
78
{
79
fNofPrimaries
= nofPrimaries;
80
}
81
82
/// Set the Vertex position
83
/// \param position The Vertex position
84
inline
void
PrimaryGenerator::SetVertexPosition
(TVector3 position)
85
{
86
fVertexPosition
= position;
87
}
88
89
/// Set the Vertex direction
90
/// \param direction The Vertex direction
91
inline
void
PrimaryGenerator::SetVertexDirection
(TVector3 direction)
92
{
93
fVertexDirection
= direction;
94
}
95
96
/// Return the Vertex position
97
inline
TVector3
PrimaryGenerator::GetVertexPosition
()
const
98
{
99
return
fVertexPosition
;
100
}
101
102
/// Return the Vertex direction
103
inline
TVector3
PrimaryGenerator::GetVertexDirection
()
const
104
{
105
return
fVertexDirection
;
106
}
107
108
}
// namespace Gflash
109
}
// namespace VMC
110
111
#endif
// GFLASH_PRIMARY_GENERATOR_H
TObject
TVirtualMCStack
VMC::Gflash::DetectorConstruction
The detector construction (via TGeo ).
Definition
DetectorConstruction.h:40
VMC::Gflash::PrimaryGenerator::PrimaryGenerator
PrimaryGenerator(TVirtualMCStack *stack)
Definition
PrimaryGenerator.cxx:39
VMC::Gflash::PrimaryGenerator::GetVertexPosition
TVector3 GetVertexPosition() const
Return the Vertex position.
Definition
PrimaryGenerator.h:97
VMC::Gflash::PrimaryGenerator::GeneratePrimaries
virtual void GeneratePrimaries(const TVector3 &worldSize)
Definition
PrimaryGenerator.cxx:141
VMC::Gflash::PrimaryGenerator::PrimaryGenerator
PrimaryGenerator()
Definition
PrimaryGenerator.cxx:65
VMC::Gflash::PrimaryGenerator::fVertexPosition
TVector3 fVertexPosition
Vertex position.
Definition
PrimaryGenerator.h:67
VMC::Gflash::PrimaryGenerator::fVertexDirection
TVector3 fVertexDirection
Vertex direction.
Definition
PrimaryGenerator.h:68
VMC::Gflash::PrimaryGenerator::~PrimaryGenerator
virtual ~PrimaryGenerator()
Definition
PrimaryGenerator.cxx:76
VMC::Gflash::PrimaryGenerator::SetNofPrimaries
void SetNofPrimaries(Int_t nofPrimaries)
Definition
PrimaryGenerator.h:77
VMC::Gflash::PrimaryGenerator::GenerateOnePrimary
void GenerateOnePrimary(const TVector3 &origin)
Definition
PrimaryGenerator.cxx:86
VMC::Gflash::PrimaryGenerator::GetVertexDirection
TVector3 GetVertexDirection() const
Return the Vertex direction.
Definition
PrimaryGenerator.h:103
VMC::Gflash::PrimaryGenerator::SetVertexPosition
void SetVertexPosition(TVector3 position)
Definition
PrimaryGenerator.h:84
VMC::Gflash::PrimaryGenerator::fStack
TVirtualMCStack * fStack
VMC stack.
Definition
PrimaryGenerator.h:65
VMC::Gflash::PrimaryGenerator::fNofPrimaries
Int_t fNofPrimaries
Number of primary particles.
Definition
PrimaryGenerator.h:66
VMC::Gflash::PrimaryGenerator::SetVertexDirection
void SetVertexDirection(TVector3 direction)
Definition
PrimaryGenerator.h:91
VMC::Gflash
Definition
DetectorConstruction.h:30
VMC
Definition
FastSimulation.h:26
Generated on
for VMC Examples by
1.17.0