BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
MucMagneticField.h
Go to the documentation of this file.
1#ifndef MUCMAGNETICFIELD_H
2#define MUCMAGNETICFIELD_H 1
3
4#include <string>
5
6#include "CLHEP/Geometry/Point3D.h"
7#include "CLHEP/Geometry/Vector3D.h"
8
9#ifndef ENABLE_BACKWARDS_COMPATIBILITY
10// backwards compatibility will be enabled ONLY in CLHEP 1.9
11typedef HepGeom::Point3D<double> HepPoint3D;
12typedef HepGeom::Vector3D<double> HepVector3D;
13#endif
14
16public:
17#ifndef BEAN
19#else
20 MucMagneticField( const std::string Path );
21#endif
23
24 void getMucField( int part, int layer, int mat, HepPoint3D& r, HepVector3D& b );
25 void readPar();
26
27 std::string getPath() { return path; }
28
29private:
30 static const int npar = 18;
31 double bipx0[npar], bipy0[npar], bipz0[npar]; // barrel iron par bx,by,bz in each layer
32 double bipx1[npar], bipy1[npar], bipz1[npar];
33 double bipx2[npar], bipy2[npar], bipz2[npar];
34 double bipx3[npar], bipy3[npar], bipz3[npar];
35 double bipx4[npar], bipy4[npar], bipz4[npar];
36 double bipx5[npar], bipy5[npar], bipz5[npar];
37 double bipx6[npar], bipy6[npar], bipz6[npar];
38 double bipx7[npar], bipy7[npar], bipz7[npar];
39 double bipx8[npar], bipy8[npar], bipz8[npar];
40
41 double bapx0[npar], bapy0[npar], bapz0[npar]; // barrel air par bx,by,bz in each layer
42 double bapx1[npar], bapy1[npar], bapz1[npar];
43 double bapx2[npar], bapy2[npar], bapz2[npar];
44 double bapx3[npar], bapy3[npar], bapz3[npar];
45 double bapx4[npar], bapy4[npar], bapz4[npar];
46 double bapx5[npar], bapy5[npar], bapz5[npar];
47 double bapx6[npar], bapy6[npar], bapz6[npar];
48 double bapx7[npar], bapy7[npar], bapz7[npar];
49
50 static const int npar1 = 17;
51 double aipx0[npar1], aipy0[npar1], aipz0[npar1]; // endcap iron par bx,by,bz in each layer
52 double aipx1[npar1], aipy1[npar1], aipz1[npar1];
53 double aipx2[npar1], aipy2[npar1], aipz2[npar1];
54 double aipx3[npar1], aipy3[npar1], aipz3[npar1];
55 double aipx4[npar1], aipy4[npar1], aipz4[npar1];
56 double aipx5[npar1], aipy5[npar1], aipz5[npar1];
57 double aipx6[npar1], aipy6[npar1], aipz6[npar1];
58 double aipx7[npar1], aipy7[npar1], aipz7[npar1];
59 double aipx8[npar1], aipy8[npar1], aipz8[npar1];
60
61 double aapx0[npar1], aapy0[npar1], aapz0[npar1]; // endcap air par bx,by,bz in each layer
62 double aapx1[npar1], aapy1[npar1], aapz1[npar1];
63 double aapx2[npar1], aapy2[npar1], aapz2[npar1];
64 double aapx3[npar1], aapy3[npar1], aapz3[npar1];
65 double aapx4[npar1], aapy4[npar1], aapz4[npar1];
66 double aapx5[npar1], aapy5[npar1], aapz5[npar1];
67 double aapx6[npar1], aapy6[npar1], aapz6[npar1];
68 double aapx7[npar1], aapy7[npar1], aapz7[npar1];
69
70 double bp[npar]; // barrel par
71 double ep[npar1]; // endcap par
72
73 std::string filename;
74 std::string path; // path to data files
75};
76#endif
HepGeom::Vector3D< double > HepVector3D
HepGeom::Point3D< double > HepPoint3D
HepGeom::Point3D< double > HepPoint3D
HepGeom::Vector3D< double > HepVector3D
void getMucField(int part, int layer, int mat, HepPoint3D &r, HepVector3D &b)
std::string getPath()
double int * ep
Definition qcdloop1.h:82