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