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
EIC Software
Deprecated List
Modules
Namespaces
Classes
Files
File List
acts
BeastMagneticField
delphes_EIC
Doxygen_Assist
east
eic-smear
EicRoot
blob
master
base
cbmbase
cbmdata
dbase
eic
ayk
base
cad
calorimetry
detectors
event
field
EicBeamLineElementGrad.cxx
EicBeamLineElementGrad.h
EicBeamLineElementMap.cxx
EicBeamLineElementMap.h
EicConstantField.cxx
EicConstantField.h
EicMagneticField.cxx
EicMagneticField.h
EicMagneticFieldFromGradients.cxx
EicMagneticFieldFromGradients.h
EicMagneticFieldGrad.cxx
EicMagneticFieldGrad.h
EicMagneticFieldMap.cxx
EicMagneticFieldMap.h
EicMediaHub.cxx
EicMediaHub.h
qfieldLinkDef.h
htc
htree
infrastructure
jana
proto
tracking
eventdisplay
examples
fairtools
field
gconfig
geane
genfit
GenfitTools
geobase
geometry
input
littrack
parbase
passive
pCDR-2018
pid
pnddata
PndTools
rich
trackbase
eicsmear-jetexample
eicsmeardetectors
EicToyModel
estarlight
Fun4All-lmon
fun4all_coresoftware
fun4all_eic_qa
fun4all_eic_tutorials
fun4all_eicdetectors
fun4all_eicmacros
fun4all_g4jleic
fun4all_GenFit
fun4all_macros
fun4all_tutorials
g4exampledetector
g4lblvtx
online_distribution
PEPSI
doxygen_mainpage.h
File Members
External Links
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
EicMagneticFieldGrad.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file EicMagneticFieldGrad.h
1
//
2
// EIC magnetic field map;
3
// object encoding the field directly from gradients
4
//
5
6
#include <TString.h>
7
#include <TGeoShape.h>
8
#include <TGeoTube.h>
9
#include <TGeoMatrix.h>
10
11
#ifndef _EIC_MAGNETIC_FIELD_GRAD_
12
#define _EIC_MAGNETIC_FIELD_GRAD_
13
14
// Go green :-)
15
#define _DEFAULT_YOKE_COLOR_ (kGreen)
16
17
class
EicMagneticFieldGrad
:
public
TObject
18
{
19
public
:
20
EicMagneticFieldGrad
(
const
char
*fileName = 0, TGeoMatrix *transformation = 0,
21
TGeoShape *shape = 0,
int
color
=
_DEFAULT_YOKE_COLOR_
);
22
~EicMagneticFieldGrad
() {};
23
24
// A complementary call: ideally should define transformation right in the constructor;
25
//void SetTransformation(TGeoMatrix *transformation) { mTransformation = transformation; };
26
27
// Import field map and set up internal structures if needed; can in principle
28
// be empty call for simple map types;
29
virtual
int
Initialize
();
30
bool
Initialized
()
const
{
return
mInitialized
; };
31
32
// The actual routine indeed is different for different field map implementations;
33
// do not see much sense in providing (even empty) default call here;
34
virtual
int
GetFieldValue
(
const
double
xx[],
double
B[])
const
= 0;
35
36
TGeoShape *
GetShape
()
const
{
return
mShape
; };
37
38
// The default implementation assumes that mShape is available;
39
virtual
bool
Contains
(
const
double
xx[])
const
;
40
41
const
TString &
GetFileName
()
const
{
return
mFileName
; };
42
43
// Incapable per default;
44
virtual
bool
CapableToBuildYoke
()
const
{
return
false
; };
45
46
// This is needed only if field map pretends to be able to cook a solid object like
47
// a yoke imitator; in particular EicBeamLineElementMap just strips .csv extension
48
// from the file name;
49
virtual
TString
GetDetectorName
()
const
{
return
GetFileName
(); };
50
virtual
int
ConstructGeometry
() {
return
0; };
51
52
void
SetYokeColor
(
int
color
) {
mColor
=
color
; };
53
int
GetYokeColor
()
const
{
return
mColor
; };
54
55
virtual
TGeoVolume *
GetYokeVolume
()
const
{
return
0; };
56
57
58
private
:
59
// NB: format is arbitrary, but Initialize() should be able to interpret it;
60
TString
mFileName
;
// input file name
61
62
protected
:
63
Bool_t
mInitialized
;
64
65
TGeoMatrix *
mTransformation
;
// transformation to the world coordinate system
66
67
// This is needed either to precisely determine simple constant field maps (box/tube, etc)
68
// or to facilitate voxelization in case several field maps need to be imported at once
69
// like for beam line elements;
70
TGeoShape *
mShape
;
// optional bounding shape of this field map
71
72
Int_t
mColor
;
// yoke color in event display
73
74
ClassDef(
EicMagneticFieldGrad
,1)
75
};
76
77
#endif
EicRoot
blob
master
eic
field
EicMagneticFieldGrad.h
Built by
Jin Huang
. updated:
Mon Jan 22 2024 12:43:35
using
1.8.2 with
EIC GitHub integration