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
EicBeamLineElementMap.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file EicBeamLineElementMap.h
1
// AYK (ayk@bnl.gov), 2014/09/03
2
//
3
// EIC IR Beam line element magnetic field map handler;
4
//
5
6
#include <
EicMagneticFieldMap.h
>
7
8
#ifndef _EIC_BEAM_LINE_ELEMENT_MAP_
9
#define _EIC_BEAM_LINE_ELEMENT_MAP_
10
11
#define _CSV_EXTENSION_ (".csv")
12
13
class
Mgrid
;
14
15
class
EicBeamLineElementMap
:
public
EicMagneticFieldMap
16
{
17
public
:
18
// NB: box shape parameters and 3D transformation will be known only after the
19
// file is read in -> just give the file name to EicMagneticFieldMap constructor;
20
EicBeamLineElementMap
(
const
char
*fileName = 0):
EicMagneticFieldMap
(fileName),
mGrid
(0),
21
mLength
(0.0),
mAngle
(0.0),
mBore
(0.0),
mYoke
(0),
mScale
(1.) {
22
// Just for debuggning purposes;
23
//Initialize(); exit(0);
24
};
25
~EicBeamLineElementMap
() {};
26
27
// Ok, provide Initialize() ASCII file parser; Contains() call is the
28
// "standard" one since both box shape and 3D transformation are provided;
29
int
Initialize
();
30
31
int
GetFieldValue
(
const
double
xx[],
double
B[])
const
;
32
void
SetFieldScale
(
const
double
fieldScaler);
33
34
// Assume, that Stephen's files contain all the required information;
35
bool
CapableToBuildYoke
()
const
{
return
true
; };
36
TString
GetDetectorName
()
const
{
37
return
TString(
BasenameWrapper
(
GetFileName
().Data())).ReplaceAll(
_CSV_EXTENSION_
,
""
);
38
};
39
int
ConstructGeometry
();
40
41
TGeoVolume *
GetYokeVolume
()
const
{
return
mYoke
; };
42
43
private
:
44
// Fo rnow assume this map can be transient (build it on-the-fly);
45
Mgrid
*
mGrid
;
46
47
// Parameters encoded in th elast few lines of Stephens' .csv files;
48
Double_t
mLength
;
// the length of the bore
49
Double_t
mAngle
;
// zero to the moment
50
Double_t
mBore
;
// bore radius
51
Double_t
mScale
;
// scaling for magnetic fields for different energy running
52
53
TGeoVolume *
mYoke
;
54
55
ClassDef
(
EicBeamLineElementMap
,4);
56
};
57
58
#endif
EicRoot
blob
master
eic
field
EicBeamLineElementMap.h
Built by
Jin Huang
. updated:
Mon Jan 22 2024 12:43:35
using
1.8.2 with
EIC GitHub integration