ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
Home page
Related Pages
Modules
Namespaces
Classes
Files
External Links
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
G4GeometrySampler.hh
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file G4GeometrySampler.hh
1
//
2
// ********************************************************************
3
// * License and Disclaimer *
4
// * *
5
// * The Geant4 software is copyright of the Copyright Holders of *
6
// * the Geant4 Collaboration. It is provided under the terms and *
7
// * conditions of the Geant4 Software License, included in the file *
8
// * LICENSE and available at http://cern.ch/geant4/license . These *
9
// * include a list of copyright holders. *
10
// * *
11
// * Neither the authors of this software system, nor their employing *
12
// * institutes,nor the agencies providing financial support for this *
13
// * work make any representation or warranty, express or implied, *
14
// * regarding this software system or assume any liability for its *
15
// * use. Please see the license in the file LICENSE and URL above *
16
// * for the full disclaimer and the limitation of liability. *
17
// * *
18
// * This code implementation is the result of the scientific and *
19
// * technical work of the GEANT4 collaboration. *
20
// * By using, copying, modifying or distributing the software (or *
21
// * any work based on the software) you agree to acknowledge its *
22
// * use in resulting scientific publications, and indicate your *
23
// * acceptance of all terms of the Geant4 Software license. *
24
// ********************************************************************
25
//
26
//
27
//
28
// ----------------------------------------------------------------------
29
// Class G4GeometrySampler
30
//
31
// Class description:
32
// This class inherits from G4VSampler. It is used for scoring and
33
// importance sampling in the tracking (mass) geometry.
34
// See also the description in G4VSampler.hh.
35
36
// Author: Michael Dressel (Michael.Dressel@cern.ch)
37
// ----------------------------------------------------------------------
38
#ifndef G4GeometrySampler_hh
39
#define G4GeometrySampler_hh G4GeometrySampler_hh
40
41
#include "
G4Types.hh
"
42
#include "G4String.hh"
43
#include "
G4VSampler.hh
"
44
#include "
G4VSamplerConfigurator.hh
"
45
46
class
G4ImportanceConfigurator
;
47
class
G4WeightWindowConfigurator
;
48
//class G4ScoreConfigurator;
49
class
G4WeightCutOffConfigurator
;
50
//class G4VGCellFinder;
51
52
class
G4GeometrySampler
:
public
G4VSampler
53
{
54
55
public
:
// with description
56
57
explicit
G4GeometrySampler
(
G4VPhysicalVolume
*worldvolume,
const
G4String
&particlename);
58
explicit
G4GeometrySampler
(
G4String
worldvolumeName,
const
G4String
&particlename);
59
virtual
~G4GeometrySampler
();
60
61
// virtual void PrepareScoring(G4VScorer *Scorer);
62
virtual
void
PrepareImportanceSampling
(
G4VIStore
* istore,
63
const
G4VImportanceAlgorithm
64
*ialg);
65
virtual
void
PrepareWeightRoulett
(
G4double
wsurvive,
66
G4double
wlimit,
67
G4double
isource);
68
69
virtual
void
PrepareWeightWindow
(
G4VWeightWindowStore
*wwstore,
70
G4VWeightWindowAlgorithm
*wwAlg,
71
G4PlaceOfAction
placeOfAction);
72
73
virtual
void
Configure
();
74
virtual
void
AddProcess
();
75
76
virtual
void
ClearSampling
();
77
virtual
G4bool
IsConfigured
()
const
;
78
79
void
SetParallel
(
G4bool
paraflag
);
80
void
SetWorld
(
const
G4VPhysicalVolume
*
world
);
81
void
SetParticle
(
const
G4String
&particlename);
82
83
inline
G4String
GetParticleName
(){
return
fParticleName
;};
84
85
private
:
86
87
G4GeometrySampler
(
const
G4GeometrySampler
&);
88
G4GeometrySampler
&
89
operator=
(
const
G4GeometrySampler
&);
90
91
private
:
92
93
G4String
fParticleName
;
94
const
G4VPhysicalVolume
*
fWorld
;
95
G4String
fWorldName
;
96
G4ImportanceConfigurator
*
fImportanceConfigurator
;
97
// G4ScoreConfigurator *fScoreConfigurator;
98
// G4VGCellFinder *fGCellFinder;
99
G4WeightCutOffConfigurator
*
fWeightCutOffConfigurator
;
100
G4VIStore
*
fIStore
;
101
G4WeightWindowConfigurator
*
fWeightWindowConfigurator
;
102
G4VWeightWindowStore
*
fWWStore
;
103
G4bool
fIsConfigured
;
104
G4Configurators
fConfigurators
;
105
106
G4bool
paraflag
;
107
108
};
109
110
#endif
111
geant4
tree
geant4-10.6-release
source
processes
biasing
importance
include
G4GeometrySampler.hh
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:27
using
1.8.2 with
ECCE GitHub integration