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
G4TransportationLogger.hh
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file G4TransportationLogger.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 G4TransportationLogger
30
//
31
// Class description:
32
//
33
// Simple utility class for use by navigation systems
34
// for verbosity and check-mode.
35
36
// History:
37
// - Created. John Apostolakis, June 2018
38
// --------------------------------------------------------------------
39
#ifndef G4TRANSPORTATIONLOGGER_HH
40
#define G4TRANSPORTATIONLOGGER_HH
41
42
#include "
globals.hh
"
43
44
class
G4Track
;
45
class
G4Step
;
46
47
class
G4TransportationLogger
48
{
49
public
:
// with description
50
51
G4TransportationLogger
(
const
G4String
& className,
G4int
verbosity);
52
G4TransportationLogger
(
const
char
* className,
G4int
verbosity);
53
~G4TransportationLogger
();
54
55
// Provide report in case of particle looping in field
56
//
57
void
ReportLoopingTrack
(
const
G4Track
&
track
,
58
const
G4Step
& stepInfo,
59
G4int
numTrials,
60
G4long
noCalls,
61
const
char
* methodName)
const
;
62
63
// Print the thresholds' values
64
void
ReportLooperThresholds
(
const
char
* className );
65
66
public
:
// without description
67
68
void
SetThresholds
(
G4double
newEnWarn,
G4double
importantEnergy,
69
G4int
newMaxTrials );
70
71
G4int
GetVerboseLevel
()
const
{
return
fVerbose
; }
72
void
SetVerboseLevel
(
G4int
level) {
fVerbose
= level; }
73
74
// Get/Set limit parameters for use in reporting
75
//
76
G4double
GetThresholdWarningEnergy
()
const
{
return
fThldWarningEnergy
; }
77
G4double
GetThresholdImportantEnergy
()
const
{
return
fThldImportantEnergy
; }
78
G4double
GetThresholdTrials
()
const
{
return
fThldTrials
; }
79
80
void
SetThresholdWarningEnergy
(
G4double
val ) {
fThldWarningEnergy
= val; }
81
void
SetThresholdImportantEnergy
(
G4double
val ) {
fThldImportantEnergy
= val; }
82
void
SetThresholdTrials
(
G4int
maxNoTrials ) {
fThldTrials
=
std::max
( maxNoTrials, 1); }
83
84
private
:
85
86
G4String
fClassName
;
// Name of Transportation process (class name)
87
G4int
fVerbose
;
// Verbosity level
88
89
// Parameters for transporation limits
90
// Used only for reporting in this class
91
//
92
G4double
fThldWarningEnergy
;
93
G4double
fThldImportantEnergy
;
94
G4int
fThldTrials
;
95
};
96
97
#endif
geant4
tree
geant4-10.6-release
source
processes
transportation
include
G4TransportationLogger.hh
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:52
using
1.8.2 with
ECCE GitHub integration