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
G4tgrUtils.hh
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file G4tgrUtils.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 G4tgrUtils
30
//
31
// Class description:
32
//
33
// Utility class for managing of strings.
34
35
// History:
36
// - Created. P.Arce, CIEMAT (November 2007)
37
// -------------------------------------------------------------------------
38
39
#ifndef G4tgrUtils_h
40
#define G4tgrUtils_h
41
42
#include "
globals.hh
"
43
44
#include <iostream>
45
#include <vector>
46
47
#include "
G4ThreeVector.hh
"
48
#include "
G4RotationMatrix.hh
"
49
#include "
G4tgrEvaluator.hh
"
50
51
enum
WLSIZEtype
{
WLSIZE_EQ
,
WLSIZE_NE
,
WLSIZE_LE
,
WLSIZE_LT
,
WLSIZE_GE
,
WLSIZE_GT
};
52
53
class
G4tgrUtils
54
{
55
public
:
// with description
56
57
G4tgrUtils
();
58
~G4tgrUtils
();
59
60
static
G4bool
IsSeparator
(
char
);
61
static
G4bool
IsNumber
(
const
G4String
& str);
62
static
G4bool
IsInteger
(
const
G4double
val,
63
const
G4double
precision
= 1.
e
-6 );
64
static
G4bool
IsFunction
(
const
G4String
& word );
65
// Checks that every character in a G4String is a number
66
// (also '.' or exponencial notation: 'E')
67
static
G4bool
WordIsUnit
(
const
G4String
& word );
68
69
static
void
Dump3v
(
const
G4ThreeVector
& vec,
const
char
* msg);
70
// Dumps a three-vector with a message
71
static
void
Dumprm
(
const
G4RotationMatrix
& rm,
const
char
* msg);
72
// Dumps a rotation matrix with a message
73
static
void
DumpVS
(
const
std::vector<G4String>& wl ,
const
char
* msg);
74
// Dumps a vector of G4Strings with a message to cout
75
static
void
DumpVS
(
const
std::vector<G4String>& wl ,
const
char
* msg,
76
std::ostream& outs) ;
77
// Dumps a vector of G4Strings with a message to outs
78
static
void
CheckWLsize
(
const
std::vector<G4String>& wl,
79
unsigned
int
nWCheck,
WLSIZEtype
st,
80
const
G4String
& methodName );
81
static
G4bool
CheckListSize
(
unsigned
int
nWreal,
82
unsigned
int
nWcheck,
WLSIZEtype
st,
83
G4String
& outstr );
84
85
static
G4String
SubColon
(
const
G4String
& str );
86
// Return the str without leading ':'
87
88
static
G4String
GetString
(
const
G4String
& str );
89
// Return the str without leading and trailing '"' and ' '
90
91
static
G4double
GetDouble
(
const
G4String
& str,
G4double
unitval = 1. );
92
// Convert a G4String to a double, checking that it is really a number
93
static
G4int
GetInt
(
const
G4String
& str );
94
// Convert a G4String to an integer, checking that it is really an int
95
static
G4bool
GetBool
(
const
G4String
& str );
96
// Convert a bool to an integer, checking that it is really a bool
97
98
static
G4RotationMatrix
GetRotationFromDirection
(
G4ThreeVector
dir
);
99
100
static
G4bool
AreWordsEquivalent
(
const
G4String
& word1,
101
const
G4String
& word2 );
102
// Looks if word1 and word2 are equivalent, considering that
103
// word1 may have '*', meaning 'any character'
104
105
private
:
106
107
static
G4ThreadLocal
G4tgrEvaluator
*
theEvaluator
;
108
};
109
110
#endif
geant4
tree
geant4-10.6-release
source
persistency
ascii
include
G4tgrUtils.hh
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:25
using
1.8.2 with
ECCE GitHub integration