/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/MagneticField/MagneticField-00-01-38/MagneticField/MagFieldReader.h

Go to the documentation of this file.
00001 #ifndef MAGFIELDREADER_H 
00002 #define MAGFIELDREADER_H 1
00003 
00004 // Include files
00005 // from STL
00006 #include <string>
00007 
00008 // from Gaudi
00009 #include "GaudiKernel/Algorithm.h"
00010 #include "GaudiKernel/NTuple.h"
00011 #include "BesTimerSvc/IBesTimerSvc.h"
00012 #include "BesTimerSvc/BesTimerSvc.h"
00013 
00014 // Forward references
00015 class IMagneticFieldSvc;
00016 
00024 class MagFieldReader : public Algorithm {
00025 public:
00027   MagFieldReader( const std::string& name, ISvcLocator* pSvcLocator );
00028 
00029   virtual ~MagFieldReader( ){ }; 
00030 
00031   virtual StatusCode initialize();    
00032   virtual StatusCode execute   ();    
00033   virtual StatusCode finalize  ();    
00034 
00035 protected:
00036 
00037 private:
00038 
00039   StatusCode readField();
00040   
00041   // Pointer to the magnetic field service
00042   IMagneticFieldSvc* m_pIMF;
00043 
00044   // range and steps in z to get the magnetic field 
00045   double m_zMin, m_zMax, m_step;
00046 
00047   // range in x and y
00048   double m_xMin, m_xMax, m_yMin, m_yMax;
00049 
00050   NTuple::Tuple*        m_ntuple;
00051   NTuple::Tuple*        m_tuple1;
00052   NTuple::Tuple*        m_tuple2;
00053   NTuple::Tuple*        m_tuple3;
00054   NTuple::Tuple*        m_tuple4;
00055   NTuple::Item<float>   m_x, m_y, m_z, m_Bx, m_By, m_Bz, m_r;
00056   NTuple::Item<float>   m_x2, m_y2, m_z2, m_Bx2, m_By2, m_Bz2, m_r2;
00057   NTuple::Item<float>   m_x3, m_y3, m_z3, m_Bx3, m_By3, m_Bz3, m_r3, m_phi3;
00058   NTuple::Item<float> m_sigma_bx,m_sigma_by,m_sigma_bz;  
00059   NTuple::Item<float> m_time;
00060 
00061   std::string m_filename;
00062 
00063   IBesTimerSvc* m_timersvc;
00064   BesTimer* m_timer;
00065 };
00066 #endif // MAGFIELDREADER_H

Generated on Tue Nov 29 23:12:44 2016 for BOSS_7.0.2 by  doxygen 1.4.7