Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

MucMagneticField.h

Go to the documentation of this file.
00001 #ifndef MUCMAGNETICFIELD_H 
00002 #define MUCMAGNETICFIELD_H 1
00003 
00004 #include "CLHEP/Geometry/Vector3D.h"
00005 #include "CLHEP/Geometry/Point3D.h"
00006 
00007 #ifndef ENABLE_BACKWARDS_COMPATIBILITY
00008 //  backwards compatibility will be enabled ONLY in CLHEP 1.9
00009 typedef HepGeom::Point3D<double> HepPoint3D;
00010 #endif
00011 #ifndef ENABLE_BACKWARDS_COMPATIBILITY
00012 typedef HepGeom::Vector3D<double> HepVector3D;
00013 #endif
00014 
00015 class MucMagneticField
00016 {
00017 public:
00018   MucMagneticField();
00019   ~MucMagneticField();
00020   void getMucField(int part,int layer,int mat, HepPoint3D& r,HepVector3D& b);
00021   void readPar();
00022 private:
00023   static const int npar = 18;
00024   double bipx0[npar],bipy0[npar],bipz0[npar];//barrel iron par bx,by,bz in each layer
00025   double bipx1[npar],bipy1[npar],bipz1[npar];
00026   double bipx2[npar],bipy2[npar],bipz2[npar];
00027   double bipx3[npar],bipy3[npar],bipz3[npar];
00028   double bipx4[npar],bipy4[npar],bipz4[npar];
00029   double bipx5[npar],bipy5[npar],bipz5[npar];
00030   double bipx6[npar],bipy6[npar],bipz6[npar];
00031   double bipx7[npar],bipy7[npar],bipz7[npar];
00032   double bipx8[npar],bipy8[npar],bipz8[npar];
00033 
00034   double bapx0[npar],bapy0[npar],bapz0[npar];//barrel air par bx,by,bz in each layer 
00035   double bapx1[npar],bapy1[npar],bapz1[npar];
00036   double bapx2[npar],bapy2[npar],bapz2[npar];
00037   double bapx3[npar],bapy3[npar],bapz3[npar];
00038   double bapx4[npar],bapy4[npar],bapz4[npar];
00039   double bapx5[npar],bapy5[npar],bapz5[npar];
00040   double bapx6[npar],bapy6[npar],bapz6[npar];
00041   double bapx7[npar],bapy7[npar],bapz7[npar];
00042 
00043   static const int npar1 = 17;
00044   double aipx0[npar1],aipy0[npar1],aipz0[npar1];//endcap iron par bx,by,bz in each layer
00045   double aipx1[npar1],aipy1[npar1],aipz1[npar1];
00046   double aipx2[npar1],aipy2[npar1],aipz2[npar1];
00047   double aipx3[npar1],aipy3[npar1],aipz3[npar1];
00048   double aipx4[npar1],aipy4[npar1],aipz4[npar1];
00049   double aipx5[npar1],aipy5[npar1],aipz5[npar1];
00050   double aipx6[npar1],aipy6[npar1],aipz6[npar1];
00051   double aipx7[npar1],aipy7[npar1],aipz7[npar1];
00052   double aipx8[npar1],aipy8[npar1],aipz8[npar1];
00053 
00054   double aapx0[npar1],aapy0[npar1],aapz0[npar1];//endcap air par bx,by,bz in each layer
00055   double aapx1[npar1],aapy1[npar1],aapz1[npar1];
00056   double aapx2[npar1],aapy2[npar1],aapz2[npar1];
00057   double aapx3[npar1],aapy3[npar1],aapz3[npar1];
00058   double aapx4[npar1],aapy4[npar1],aapz4[npar1];
00059   double aapx5[npar1],aapy5[npar1],aapz5[npar1];
00060   double aapx6[npar1],aapy6[npar1],aapz6[npar1];
00061   double aapx7[npar1],aapy7[npar1],aapz7[npar1];
00062 
00063   double bp[npar];//barrel par
00064   double ep[npar1];//endcap par
00065 
00066   std::string filename;
00067 };
00068 #endif

Generated on Wed Feb 2 15:41:57 2011 for BOSS6.5.5 by  doxygen 1.3.9.1