VMC Examples
Version 6.8
Toggle main menu visibility
Loading...
Searching...
No Matches
examples
E01
include
Ex01MCApplication.h
Go to the documentation of this file.
1
#ifndef EX01_MC_APPLICATION_H
2
#define EX01_MC_APPLICATION_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 Ex01MCApplication.h
14
/// \brief Definition of the Ex01MCApplication class
15
///
16
/// Geant4 ExampleN01 adapted to Virtual Monte Carlo
17
///
18
/// \author I. Hrivnacova; IPN, Orsay
19
20
#include <TVirtualMCApplication.h>
21
#include <TVirtualMCStack.h>
22
23
class
TVirtualMagField
;
24
25
/// \ingroup E01
26
/// \brief Implementation of the TVirtualMCApplication
27
///
28
/// \date 05/04/2002
29
/// \author I. Hrivnacova; IPN, Orsay
30
31
class
Ex01MCApplication
:
public
TVirtualMCApplication
32
{
33
public
:
34
Ex01MCApplication
(
const
char
* name,
const
char
* title);
35
Ex01MCApplication
();
36
virtual
~Ex01MCApplication
();
37
38
// static access method
39
static
Ex01MCApplication
*
Instance
();
40
41
// methods
42
void
InitMC
(
const
char
* setup);
43
void
RunMC
(Int_t nofEvents);
44
void
FinishRun
();
45
46
virtual
TVirtualMCApplication
*
CloneForWorker
()
const
;
47
virtual
void
InitOnWorker
();
48
virtual
void
ConstructGeometry
();
49
virtual
void
InitGeometry
();
50
virtual
void
GeneratePrimaries
();
51
virtual
void
BeginEvent
();
52
virtual
void
BeginPrimary
();
53
virtual
void
PreTrack
();
54
virtual
void
Stepping
();
55
virtual
void
PostTrack
();
56
virtual
void
FinishPrimary
();
57
virtual
void
FinishEvent
();
58
59
// methods for tests
60
void
SetOldGeometry
(Bool_t oldGeometry = kTRUE);
61
void
TestVMCGeometryGetters
();
62
63
private
:
64
// methods
65
void
ConstructMaterials
();
66
void
ConstructVolumes
();
67
68
// data members
69
TVirtualMCStack
*
fStack
;
///< The VMC stack
70
TVirtualMagField
*
fMagField
;
///< The magnetic field
71
Int_t
fImedAr
;
///< The Argon gas medium Id
72
Int_t
fImedAl
;
///< The Aluminium medium Id
73
Int_t
fImedPb
;
///< The Lead medium Id
74
Bool_t
fOldGeometry
;
///< Option for geometry definition
75
76
ClassDef(
Ex01MCApplication
, 1)
// Interface to MonteCarlo application
77
};
78
79
// inline functions
80
81
inline
Ex01MCApplication
*
Ex01MCApplication::Instance
()
82
{
83
/// \return The MC application instance
84
return
(
Ex01MCApplication
*)(TVirtualMCApplication::Instance());
85
}
86
87
inline
void
Ex01MCApplication::SetOldGeometry
(Bool_t oldGeometry)
88
{
89
/// Select old geometry definition (via TVirtualMC)
90
fOldGeometry
= oldGeometry;
91
}
92
93
#endif
// EX01_MC_APPLICATION_H
Ex01MCApplication::FinishRun
void FinishRun()
Definition
Ex01MCApplication.cxx:254
Ex01MCApplication::ConstructVolumes
void ConstructVolumes()
Definition
Ex01MCApplication.cxx:153
Ex01MCApplication::fImedAl
Int_t fImedAl
The Aluminium medium Id.
Definition
Ex01MCApplication.h:72
Ex01MCApplication::Instance
static Ex01MCApplication * Instance()
Definition
Ex01MCApplication.h:81
Ex01MCApplication::Ex01MCApplication
Ex01MCApplication(const char *name, const char *title)
Definition
Ex01MCApplication.cxx:40
Ex01MCApplication::BeginPrimary
virtual void BeginPrimary()
Definition
Ex01MCApplication.cxx:368
Ex01MCApplication::InitGeometry
virtual void InitGeometry()
Definition
Ex01MCApplication.cxx:300
Ex01MCApplication::TestVMCGeometryGetters
void TestVMCGeometryGetters()
Definition
Ex01MCApplication.cxx:436
Ex01MCApplication::InitOnWorker
virtual void InitOnWorker()
Definition
Ex01MCApplication.cxx:266
Ex01MCApplication::fImedAr
Int_t fImedAr
The Argon gas medium Id.
Definition
Ex01MCApplication.h:71
Ex01MCApplication::fImedPb
Int_t fImedPb
The Lead medium Id.
Definition
Ex01MCApplication.h:73
Ex01MCApplication::CloneForWorker
virtual TVirtualMCApplication * CloneForWorker() const
Definition
Ex01MCApplication.cxx:260
Ex01MCApplication::ConstructGeometry
virtual void ConstructGeometry()
Definition
Ex01MCApplication.cxx:273
Ex01MCApplication::FinishEvent
virtual void FinishEvent()
Definition
Ex01MCApplication.cxx:429
Ex01MCApplication::fStack
TVirtualMCStack * fStack
The VMC stack.
Definition
Ex01MCApplication.h:69
Ex01MCApplication::ConstructMaterials
void ConstructMaterials()
Definition
Ex01MCApplication.cxx:88
Ex01MCApplication::FinishPrimary
virtual void FinishPrimary()
Definition
Ex01MCApplication.cxx:422
Ex01MCApplication::Ex01MCApplication
Ex01MCApplication()
Definition
Ex01MCApplication.cxx:61
Ex01MCApplication::BeginEvent
virtual void BeginEvent()
Definition
Ex01MCApplication.cxx:361
Ex01MCApplication::PostTrack
virtual void PostTrack()
Definition
Ex01MCApplication.cxx:415
Ex01MCApplication::fMagField
TVirtualMagField * fMagField
The magnetic field.
Definition
Ex01MCApplication.h:70
Ex01MCApplication::InitMC
void InitMC(const char *setup)
Definition
Ex01MCApplication.cxx:222
Ex01MCApplication::RunMC
void RunMC(Int_t nofEvents)
Definition
Ex01MCApplication.cxx:244
Ex01MCApplication::fOldGeometry
Bool_t fOldGeometry
Option for geometry definition.
Definition
Ex01MCApplication.h:74
Ex01MCApplication::~Ex01MCApplication
virtual ~Ex01MCApplication()
Definition
Ex01MCApplication.cxx:74
Ex01MCApplication::GeneratePrimaries
virtual void GeneratePrimaries()
Definition
Ex01MCApplication.cxx:310
Ex01MCApplication::PreTrack
virtual void PreTrack()
Definition
Ex01MCApplication.cxx:375
Ex01MCApplication::SetOldGeometry
void SetOldGeometry(Bool_t oldGeometry=kTRUE)
Definition
Ex01MCApplication.h:87
Ex01MCApplication::Stepping
virtual void Stepping()
Definition
Ex01MCApplication.cxx:385
TVirtualMCApplication
TVirtualMCStack
TVirtualMagField
Generated on
for VMC Examples by
1.17.0