VMC Examples
Version 6.8
Toggle main menu visibility
Loading...
Searching...
No Matches
examples
Gflash
include
MCApplication.h
Go to the documentation of this file.
1
#ifndef GFLASH_MC_APPLICATION_H
2
#define GFLASH_MC_APPLICATION_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/MCApplication.h
14
/// \brief Definition of the Gflash::MCApplication class
15
///
16
/// Geant4 gflash example adapted to Virtual Monte Carlo.
17
///
18
/// \author I. Hrivnacova; IPN, Orsay
19
20
#include <TVirtualMCApplication.h>
21
22
#include "
DetectorConstruction.h
"
23
#include "
SensitiveDetector.h
"
24
25
#include <TGeoUniformMagField.h>
26
#include <TMCVerbose.h>
27
#include <TStopwatch.h>
28
29
class
Ex03MCStack
;
30
class
TMCRootManager;
31
32
namespace
VMC
33
{
34
namespace
Gflash
35
{
36
37
class
PrimaryGenerator
;
38
39
/// \ingroup Gflash
40
/// \brief Implementation of the TVirtualMCApplication
41
///
42
/// Geant4 gflash example adapted to Virtual Monte Carlo.
43
///
44
/// \date 28/10/2015
45
/// \author I. Hrivnacova; IPN, Orsay
46
47
class
MCApplication
:
public
TVirtualMCApplication
48
{
49
public
:
50
MCApplication
(
const
char
* name,
const
char
* title);
51
MCApplication
();
52
virtual
~MCApplication
();
53
54
// methods
55
void
InitMC
(
const
char
* setup);
56
void
RunMC
(Int_t nofEvents);
57
void
FinishRun
();
58
void
ReadEvent
(Int_t i);
59
60
virtual
TVirtualMCApplication
*
CloneForWorker
()
const
;
61
virtual
void
InitOnWorker
();
62
virtual
void
FinishRunOnWorker
();
63
64
virtual
void
ConstructGeometry
();
65
virtual
void
InitGeometry
();
66
virtual
void
GeneratePrimaries
();
67
virtual
void
BeginEvent
();
68
virtual
void
BeginPrimary
();
69
virtual
void
PreTrack
();
70
virtual
void
Stepping
();
71
virtual
void
PostTrack
();
72
virtual
void
FinishPrimary
();
73
virtual
void
FinishEvent
();
74
75
// set methods
76
void
SetVerboseLevel
(Int_t verboseLevel);
77
78
// get methods
79
DetectorConstruction
*
GetDetectorConstruction
()
const
;
80
SensitiveDetector
*
GetCalorimeterSD
()
const
;
81
PrimaryGenerator
*
GetPrimaryGenerator
()
const
;
82
83
private
:
84
// methods
85
MCApplication
(
const
MCApplication
& origin);
86
void
RegisterStack
()
const
;
87
void
ComputeEventStatistics
()
const
;
88
89
// data members
90
mutable
TMCRootManager*
fRootManager
;
//!< Root manager
91
Int_t
fEventNo
;
///< Event counter
92
TMCVerbose
fVerbose
;
///< VMC verbose helper
93
Ex03MCStack
*
fStack
;
///< VMC stack
94
DetectorConstruction
*
fDetConstruction
;
///< Dector construction
95
SensitiveDetector
*
fSensitiveDetector
;
///< Calorimeter SD
96
PrimaryGenerator
*
fPrimaryGenerator
;
///< Primary generator
97
Bool_t
fIsMaster
;
///< If is on master thread
98
TStopwatch*
fEventTimer
;
///< Event timer
99
100
ClassDef(
MCApplication
, 1)
// Interface to MonteCarlo application
101
};
102
103
// inline functions
104
105
/// Set verbosity
106
/// \param verboseLevel The new verbose level value
107
inline
void
MCApplication::SetVerboseLevel
(Int_t verboseLevel)
108
{
109
fVerbose
.SetLevel(verboseLevel);
110
}
111
112
/// \return The detector construction
113
inline
DetectorConstruction
*
MCApplication::GetDetectorConstruction
()
const
114
{
115
return
fDetConstruction
;
116
}
117
118
/// \return The calorimeter sensitive detector
119
inline
SensitiveDetector
*
MCApplication::GetCalorimeterSD
()
const
120
{
121
return
fSensitiveDetector
;
122
}
123
124
/// \return The primary generator
125
inline
PrimaryGenerator
*
MCApplication::GetPrimaryGenerator
()
const
126
{
127
return
fPrimaryGenerator
;
128
}
129
130
}
// namespace Gflash
131
}
// namespace VMC
132
133
#endif
// GFLASH_MC_APPLICATION_H
DetectorConstruction.h
Definition of the Gflash::DetectorConstruction class.
SensitiveDetector.h
Definition of the Gflash::SensitiveDetector class.
Ex03MCStack
Implementation of the TVirtualMCStack interface.
Definition
Ex03MCStack.h:36
TVirtualMCApplication
VMC::Gflash::DetectorConstruction
The detector construction (via TGeo ).
Definition
DetectorConstruction.h:40
VMC::Gflash::MCApplication::CloneForWorker
virtual TVirtualMCApplication * CloneForWorker() const
Definition
MCApplication.cxx:298
VMC::Gflash::MCApplication::fIsMaster
Bool_t fIsMaster
If is on master thread.
Definition
MCApplication.h:97
VMC::Gflash::MCApplication::GetCalorimeterSD
SensitiveDetector * GetCalorimeterSD() const
Definition
MCApplication.h:119
VMC::Gflash::MCApplication::fEventNo
Int_t fEventNo
Event counter.
Definition
MCApplication.h:91
VMC::Gflash::MCApplication::GeneratePrimaries
virtual void GeneratePrimaries()
Definition
MCApplication.cxx:368
VMC::Gflash::MCApplication::PreTrack
virtual void PreTrack()
Definition
MCApplication.cxx:414
VMC::Gflash::MCApplication::fRootManager
TMCRootManager * fRootManager
Root manager.
Definition
MCApplication.h:90
VMC::Gflash::MCApplication::fDetConstruction
DetectorConstruction * fDetConstruction
Dector construction.
Definition
MCApplication.h:94
VMC::Gflash::MCApplication::FinishEvent
virtual void FinishEvent()
Definition
MCApplication.cxx:462
VMC::Gflash::MCApplication::InitMC
void InitMC(const char *setup)
Definition
MCApplication.cxx:235
VMC::Gflash::MCApplication::fVerbose
TMCVerbose fVerbose
VMC verbose helper.
Definition
MCApplication.h:92
VMC::Gflash::MCApplication::ComputeEventStatistics
void ComputeEventStatistics() const
Definition
MCApplication.cxx:149
VMC::Gflash::MCApplication::ReadEvent
void ReadEvent(Int_t i)
Definition
MCApplication.cxx:331
VMC::Gflash::MCApplication::BeginPrimary
virtual void BeginPrimary()
Definition
MCApplication.cxx:404
VMC::Gflash::MCApplication::fStack
Ex03MCStack * fStack
VMC stack.
Definition
MCApplication.h:93
VMC::Gflash::MCApplication::fPrimaryGenerator
PrimaryGenerator * fPrimaryGenerator
Primary generator.
Definition
MCApplication.h:96
VMC::Gflash::MCApplication::FinishPrimary
virtual void FinishPrimary()
Definition
MCApplication.cxx:454
VMC::Gflash::MCApplication::fSensitiveDetector
SensitiveDetector * fSensitiveDetector
Calorimeter SD.
Definition
MCApplication.h:95
VMC::Gflash::MCApplication::InitOnWorker
virtual void InitOnWorker()
Definition
MCApplication.cxx:304
VMC::Gflash::MCApplication::ConstructGeometry
virtual void ConstructGeometry()
Definition
MCApplication.cxx:346
VMC::Gflash::MCApplication::MCApplication
MCApplication(const char *name, const char *title)
Definition
MCApplication.cxx:48
VMC::Gflash::MCApplication::GetDetectorConstruction
DetectorConstruction * GetDetectorConstruction() const
Definition
MCApplication.h:113
VMC::Gflash::MCApplication::SetVerboseLevel
void SetVerboseLevel(Int_t verboseLevel)
Definition
MCApplication.h:107
VMC::Gflash::MCApplication::MCApplication
MCApplication()
Definition
MCApplication.cxx:103
VMC::Gflash::MCApplication::FinishRunOnWorker
virtual void FinishRunOnWorker()
Definition
MCApplication.cxx:321
VMC::Gflash::MCApplication::GetPrimaryGenerator
PrimaryGenerator * GetPrimaryGenerator() const
Definition
MCApplication.h:125
VMC::Gflash::MCApplication::FinishRun
void FinishRun()
Definition
MCApplication.cxx:285
VMC::Gflash::MCApplication::~MCApplication
virtual ~MCApplication()
Definition
MCApplication.cxx:117
VMC::Gflash::MCApplication::InitGeometry
virtual void InitGeometry()
Definition
MCApplication.cxx:358
VMC::Gflash::MCApplication::RegisterStack
void RegisterStack() const
Definition
MCApplication.cxx:138
VMC::Gflash::MCApplication::BeginEvent
virtual void BeginEvent()
Definition
MCApplication.cxx:380
VMC::Gflash::MCApplication::fEventTimer
TStopwatch * fEventTimer
Event timer.
Definition
MCApplication.h:98
VMC::Gflash::MCApplication::Stepping
virtual void Stepping()
Definition
MCApplication.cxx:425
VMC::Gflash::MCApplication::RunMC
void RunMC(Int_t nofEvents)
Definition
MCApplication.cxx:273
VMC::Gflash::MCApplication::PostTrack
virtual void PostTrack()
Definition
MCApplication.cxx:446
VMC::Gflash::PrimaryGenerator
The primary generator.
Definition
PrimaryGenerator.h:41
VMC::Gflash::SensitiveDetector
The calorimeter sensitive detector.
Definition
SensitiveDetector.h:39
VMC::Gflash
Definition
DetectorConstruction.h:30
VMC
Definition
FastSimulation.h:26
Generated on
for VMC Examples by
1.17.0