41 virtual public IIncidentListener {
70 virtual const InterfaceID&
type()
const {
return IBesMagFieldSvc::interfaceID(); };
73 void handle(
const Incident& );
81 return ( m_field ) ? m_field : ( m_field =
new ( std::nothrow )
MagneticFieldSvc() );
89 void SetPath( std::string new_path ) { path = new_path; }
90 std::string GetPath() {
return path; }
92 void GridDistance(
int gridDistance = 5 ) { m_gridDistance = gridDistance; }
93 void RunMode(
int runmode = 2 ) { m_runmode = runmode; }
95 void OutLevel(
int outlevel = 1 ) { m_outlevel = outlevel; }
97 void Cur_SCQ1_55(
double Cur_SCQ1_55 = 349.4 ) { m_Cur_SCQ1_55 = Cur_SCQ1_55; }
98 void Cur_SCQ1_89(
double Cur_SCQ1_89 = 426.2 ) { m_Cur_SCQ1_89 = Cur_SCQ1_89; }
99 void Cur_SCQ2_10(
double Cur_SCQ2_10 = 474.2 ) { m_Cur_SCQ2_10 = Cur_SCQ2_10; }
101 void UseDBFlag(
bool useDB =
true ) { m_useDB = useDB; }
104 bool init_mucMagneticField();
107 void test(
int run );
111 void handle(
int new_run );
139 StatusCode parseFile();
140 StatusCode parseFile_TE();
144 std::string m_filename;
145 std::string m_filename_TE;
147 std::string former_m_filename_TE;
148 std::string former_m_filename;
155 double m_Cur_SCQ1_55;
156 double m_Cur_SCQ1_89;
157 double m_Cur_SCQ2_10;
159 std::vector<double> m_Q;
160 std::vector<double> m_P;
161 std::vector<double> m_Q_TE;
162 std::vector<double> m_P_TE;
163 std::vector<double> m_Q_1;
164 std::vector<double> m_P_1;
165 std::vector<double> m_Q_2;
166 std::vector<double> m_P_2;
174 double m_max_FL_TE[3];
175 double m_min_FL_TE[3];
179 MucMagneticField* m_Mucfield;