EIC Software
Reference for
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
GFFieldManager.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file GFFieldManager.h
1
/* Copyright 2008-2010, Technische Universitaet Muenchen,
2
Authors: Christian Hoeppner & Sebastian Neubert
3
4
This file is part of GENFIT.
5
6
GENFIT is free software: you can redistribute it and/or modify
7
it under the terms of the GNU Lesser General Public License as published
8
by the Free Software Foundation, either version 3 of the License, or
9
(at your option) any later version.
10
11
GENFIT is distributed in the hope that it will be useful,
12
but WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
GNU Lesser General Public License for more details.
15
16
You should have received a copy of the GNU Lesser General Public License
17
along with GENFIT. If not, see <http://www.gnu.org/licenses/>.
18
*/
24
#ifndef GFFIELDMANAGER_H
25
#define GFFIELDMANAGER_H
26
27
#include"
GFAbsBField.h
"
28
#include<iostream>
29
37
class
GFFieldManager
{
38
private
:
39
GFFieldManager
(){}
40
static
GFFieldManager
*
fInstance
;
41
static
GFAbsBField
*
fField
;
42
43
public
:
44
GFAbsBField
*
getField
(){
45
if
(
fField
==NULL){
46
std::cerr <<
"Appareantly GFFieldManager hasnt been initialized with a correct GFAbsBField pointer -> abort"
<< std::endl;
47
throw
;
48
}
49
return
fField
;
50
}
51
52
static
TVector3
getFieldVal
(
const
TVector3&
x
){
53
if
(
fInstance
==NULL){
54
std::cerr <<
"Appareantly GFFieldManager hasnt been instantiated yet, call getInstance() and init() before getFieldVal() -> abort"
<< std::endl;
55
throw
;
56
}
57
if
(
fField
==NULL){
58
std::cerr <<
"Appareantly GFFieldManager hasnt been initialized with a correct GFAbsBField pointer -> abort"
<< std::endl;
59
throw
;
60
}
61
return
fField
->
get
(x);
62
}
63
65
void
init
(
GFAbsBField
* b) {
66
fField
=b;
67
}
68
69
static
GFFieldManager
*
getInstance
(){
70
if
(
fInstance
==NULL) {
71
fInstance
=
new
GFFieldManager
();
72
}
73
return
fInstance
;
74
}
75
76
77
};
78
80
#endif
EicRoot
blob
master
genfit
GFFieldManager.h
Built by
Jin Huang
. updated:
Mon Jan 22 2024 12:43:36
using
1.8.2 with
EIC GitHub integration