VMC Examples
Version 6.8
Toggle main menu visibility
Loading...
Searching...
No Matches
examples
Monopole
include
MCApplication.h
Go to the documentation of this file.
1
#ifndef MC_APPLICATION_H
2
#define MC_APPLICATION_H
3
4
//------------------------------------------------
5
// The Virtual Monte Carlo examples
6
// Copyright (C) 2018 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 MCApplication.h
14
/// \brief Definition of the MCApplication class
15
///
16
/// Geant4 Monopole example adapted to Virtual Monte Carlo
17
///
18
/// \author I. Hrivnacova; IPN, Orsay
19
20
#include <TGeoUniformMagField.h>
21
#include <TVirtualMCApplication.h>
22
23
class
TVirtualMagField
;
24
class
TMCRootManager;
25
class
Ex03MCStack
;
26
27
namespace
VMC
28
{
29
namespace
Monopole
30
{
31
32
class
DetectorConstruction
;
33
34
/// \ingroup Monopole
35
/// \brief Implementation of the TVirtualMCApplication
36
///
37
/// \date 05/04/2002
38
/// \author I. Hrivnacova; IPN, Orsay
39
40
class
MCApplication
:
public
TVirtualMCApplication
41
{
42
public
:
43
MCApplication
(
const
char
* name,
const
char
* title);
44
MCApplication
();
45
virtual
~MCApplication
();
46
47
// static access method
48
static
MCApplication
*
Instance
();
49
50
// methods
51
void
InitMC
(
const
char
* setup);
52
void
RunMC
(Int_t nofEvents);
53
void
FinishRun
();
54
55
// virtual TVirtualMCApplication* CloneForWorker() const;
56
// virtual void InitOnWorker();
57
// virtual void FinishRunOnWorker()
58
59
virtual
void
ConstructGeometry
();
60
virtual
void
InitGeometry
();
61
virtual
void
GeneratePrimaries
();
62
virtual
void
BeginEvent
();
63
virtual
void
BeginPrimary
();
64
virtual
void
PreTrack
();
65
virtual
void
Stepping
();
66
virtual
void
PostTrack
();
67
virtual
void
FinishPrimary
();
68
virtual
void
FinishEvent
();
69
70
void
SetBinSize
(Double_t binSize);
71
72
DetectorConstruction
*
GetDetectorConstruction
()
const
;
73
74
private
:
75
// methods
76
MCApplication
(
const
MCApplication
& origin);
77
void
RegisterStack
()
const
;
78
79
// data members
80
mutable
TMCRootManager*
fRootManager
;
//!< Root manager
81
Ex03MCStack
*
fStack
;
///< The VMC stack
82
DetectorConstruction
*
fDetConstruction
;
///< Dector construction
83
TGeoUniformMagField*
fMagField
;
///< Magnetic field
84
Double_t
fBinSize
;
///< Edep histogram bin size
85
Double_t
fOffsetX
;
///< The Edep histogram offset
86
Double_t
fProjRange
;
///< Projected range
87
Double_t
fProjRange2
;
///< Projected range square
88
Int_t
fImedAl
;
///< The Aluminium medium Id
89
Int_t
fNofEvents
;
///< Number of events
90
Bool_t
fIsMaster
;
///< If is on master thread
91
92
ClassDef(
MCApplication
, 1)
// Interface to MonteCarlo application
93
};
94
95
// inline functions
96
97
/// \return The MC application instance
98
inline
MCApplication
*
MCApplication::Instance
()
99
{
100
return
(
MCApplication
*)(TVirtualMCApplication::Instance());
101
}
102
103
/// \return the detector construction
104
inline
DetectorConstruction
*
MCApplication::GetDetectorConstruction
()
const
105
{
106
return
fDetConstruction
;
107
}
108
109
}
// namespace Monopole
110
}
// namespace VMC
111
112
#endif
// EX01_MC_APPLICATION_H
Ex03MCStack
Implementation of the TVirtualMCStack interface.
Definition
Ex03MCStack.h:36
TVirtualMCApplication
TVirtualMagField
VMC::Monopole::DetectorConstruction
The detector construction (via TGeo ).
Definition
DetectorConstruction.h:38
VMC::Monopole::MCApplication::Stepping
virtual void Stepping()
Definition
MCApplication.cxx:434
VMC::Monopole::MCApplication::MCApplication
MCApplication(const char *name, const char *title)
Definition
MCApplication.cxx:57
VMC::Monopole::MCApplication::fStack
Ex03MCStack * fStack
The VMC stack.
Definition
MCApplication.h:81
VMC::Monopole::MCApplication::InitMC
void InitMC(const char *setup)
Definition
MCApplication.cxx:153
VMC::Monopole::MCApplication::BeginEvent
virtual void BeginEvent()
Definition
MCApplication.cxx:408
VMC::Monopole::MCApplication::fImedAl
Int_t fImedAl
The Aluminium medium Id.
Definition
MCApplication.h:88
VMC::Monopole::MCApplication::SetBinSize
void SetBinSize(Double_t binSize)
Definition
MCApplication.cxx:507
VMC::Monopole::MCApplication::fBinSize
Double_t fBinSize
Edep histogram bin size.
Definition
MCApplication.h:84
VMC::Monopole::MCApplication::BeginPrimary
virtual void BeginPrimary()
Definition
MCApplication.cxx:415
VMC::Monopole::MCApplication::~MCApplication
virtual ~MCApplication()
Definition
MCApplication.cxx:123
VMC::Monopole::MCApplication::fProjRange
Double_t fProjRange
Projected range.
Definition
MCApplication.h:86
VMC::Monopole::MCApplication::FinishPrimary
virtual void FinishPrimary()
Definition
MCApplication.cxx:491
VMC::Monopole::MCApplication::RunMC
void RunMC(Int_t nofEvents)
Definition
MCApplication.cxx:221
VMC::Monopole::MCApplication::RegisterStack
void RegisterStack() const
Definition
MCApplication.cxx:138
VMC::Monopole::MCApplication::FinishEvent
virtual void FinishEvent()
Definition
MCApplication.cxx:498
VMC::Monopole::MCApplication::MCApplication
MCApplication()
Definition
MCApplication.cxx:108
VMC::Monopole::MCApplication::FinishRun
void FinishRun()
Definition
MCApplication.cxx:232
VMC::Monopole::MCApplication::PreTrack
virtual void PreTrack()
Definition
MCApplication.cxx:422
VMC::Monopole::MCApplication::fIsMaster
Bool_t fIsMaster
If is on master thread.
Definition
MCApplication.h:90
VMC::Monopole::MCApplication::fNofEvents
Int_t fNofEvents
Number of events.
Definition
MCApplication.h:89
VMC::Monopole::MCApplication::fOffsetX
Double_t fOffsetX
The Edep histogram offset.
Definition
MCApplication.h:85
VMC::Monopole::MCApplication::fDetConstruction
DetectorConstruction * fDetConstruction
Dector construction.
Definition
MCApplication.h:82
VMC::Monopole::MCApplication::PostTrack
virtual void PostTrack()
Definition
MCApplication.cxx:475
VMC::Monopole::MCApplication::Instance
static MCApplication * Instance()
Definition
MCApplication.h:98
VMC::Monopole::MCApplication::ConstructGeometry
virtual void ConstructGeometry()
Definition
MCApplication.cxx:350
VMC::Monopole::MCApplication::fRootManager
TMCRootManager * fRootManager
Root manager.
Definition
MCApplication.h:80
VMC::Monopole::MCApplication::GetDetectorConstruction
DetectorConstruction * GetDetectorConstruction() const
Definition
MCApplication.h:104
VMC::Monopole::MCApplication::fMagField
TGeoUniformMagField * fMagField
Magnetic field.
Definition
MCApplication.h:83
VMC::Monopole::MCApplication::fProjRange2
Double_t fProjRange2
Projected range square.
Definition
MCApplication.h:87
VMC::Monopole::MCApplication::InitGeometry
virtual void InitGeometry()
Definition
MCApplication.cxx:359
VMC::Monopole::MCApplication::GeneratePrimaries
virtual void GeneratePrimaries()
Definition
MCApplication.cxx:367
VMC::Monopole
Definition
DetectorConstruction.h:29
VMC
Definition
FastSimulation.h:26
Generated on
for VMC Examples by
1.17.0