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
G4MaterialScanner.hh
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file G4MaterialScanner.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
30
31
#ifndef G4MaterialScanner_H
32
#define G4MaterialScanner_H 1
33
34
// class description:
35
//
36
// G4MaterialScanner
37
//
38
39
#include "
globals.hh
"
40
#include "
G4ThreeVector.hh
"
41
42
class
G4Event
;
43
class
G4EventManager
;
44
class
G4UserEventAction
;
45
class
G4UserStackingAction
;
46
class
G4UserTrackingAction
;
47
class
G4UserSteppingAction
;
48
class
G4MSSteppingAction
;
49
class
G4MatScanMessenger
;
50
class
G4RayShooter
;
51
class
G4Region
;
52
53
class
G4MaterialScanner
54
{
55
public
:
// with description
56
G4MaterialScanner
();
57
58
public
:
59
~G4MaterialScanner
();
60
61
public
:
// with description
62
void
Scan
();
63
// The main entry point which triggers ray tracing.
64
// This method is available only if Geant4 is at Idle state.
65
66
private
:
67
void
DoScan
();
68
// Event loop
69
void
StoreUserActions
();
70
void
RestoreUserActions
();
71
// Store and restore user action classes if defined
72
73
private
:
74
G4RayShooter
*
theRayShooter
;
75
G4MatScanMessenger
*
theMessenger
;
76
77
G4EventManager
*
theEventManager
;
78
79
G4UserEventAction
*
theUserEventAction
;
80
G4UserStackingAction
*
theUserStackingAction
;
81
G4UserTrackingAction
*
theUserTrackingAction
;
82
G4UserSteppingAction
*
theUserSteppingAction
;
83
84
G4UserEventAction
*
theMatScannerEventAction
;
85
G4UserStackingAction
*
theMatScannerStackingAction
;
86
G4UserTrackingAction
*
theMatScannerTrackingAction
;
87
G4MSSteppingAction
*
theMatScannerSteppingAction
;
88
89
G4ThreeVector
eyePosition
;
90
G4int
nTheta
;
91
G4double
thetaMin
;
92
G4double
thetaSpan
;
93
G4int
nPhi
;
94
G4double
phiMin
;
95
G4double
phiSpan
;
96
97
G4ThreeVector
eyeDirection
;
98
99
G4bool
regionSensitive
;
100
G4String
regionName
;
101
G4Region
*
theRegion
;
102
103
public
:
104
inline
void
SetEyePosition
(
const
G4ThreeVector
& val) {
eyePosition
= val; }
105
inline
G4ThreeVector
GetEyePosition
()
const
{
return
eyePosition
; }
106
inline
void
SetNTheta
(
G4int
val) {
nTheta
= val; }
107
inline
G4int
GetNTheta
()
const
{
return
nTheta
; }
108
inline
void
SetThetaMin
(
G4double
val) {
thetaMin
= val; }
109
inline
G4double
GetThetaMin
()
const
{
return
thetaMin
; }
110
inline
void
SetThetaSpan
(
G4double
val) {
thetaSpan
= val; }
111
inline
G4double
GetThetaSpan
()
const
{
return
thetaSpan
; }
112
inline
void
SetNPhi
(
G4int
val) {
nPhi
= val; }
113
inline
G4int
GetNPhi
()
const
{
return
nPhi
; }
114
inline
void
SetPhiMin
(
G4double
val) {
phiMin
= val; }
115
inline
G4double
GetPhiMin
()
const
{
return
phiMin
; }
116
inline
void
SetPhiSpan
(
G4double
val) {
phiSpan
= val; }
117
inline
G4double
GetPhiSpan
()
const
{
return
phiSpan
; }
118
inline
void
SetRegionSensitive
(
G4bool
val=
true
) {
regionSensitive
= val; }
119
inline
G4bool
GetRegionSensitive
()
const
{
return
regionSensitive
; }
120
G4bool
SetRegionName
(
const
G4String
& val);
121
inline
G4String
GetRegionName
()
const
{
return
regionName
; }
122
123
};
124
125
#endif
geant4
tree
geant4-10.6-release
source
run
include
G4MaterialScanner.hh
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:53
using
1.8.2 with
ECCE GitHub integration