Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-09-27 09:14:59

0001 /**
0002  *  @file   LCContent/include/LCPlugins/LCBFieldPlugin.h
0003  *
0004  *  @brief  Header file for the lc bfield plugin class.
0005  *
0006  *  $Log: $
0007  */
0008 
0009 #ifndef LC_BFIELD_PLUGIN_H
0010 #define LC_BFIELD_PLUGIN_H 1
0011 
0012 #include "Plugins/BFieldPlugin.h"
0013 
0014 namespace lc_content {
0015 
0016 /**
0017  *  @brief  LCBFieldPlugin class
0018  */
0019 class LCBFieldPlugin : public pandora::BFieldPlugin {
0020 public:
0021   /**
0022    *  @brief  Default constructor
0023    *
0024    *  @param  innerBField the bfield in the main tracker, ecal and hcal, units Tesla
0025    *  @param  muonBarrelBField the bfield in the muon barrel, units Tesla
0026    *  @param  muonEndCapBField the bfield in the muon endcap, units Tesla
0027    */
0028   LCBFieldPlugin(const float innerBField, const float muonBarrelBField, const float muonEndCapBField);
0029 
0030   float GetBField(const pandora::CartesianVector& positionVector) const;
0031 
0032 private:
0033   pandora::StatusCode Initialize();
0034   pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle);
0035 
0036   float m_innerBField;      ///< The bfield in the main tracker, ecal and hcal, units Tesla
0037   float m_muonBarrelBField; ///< The bfield in the muon barrel, units Tesla
0038   float m_muonEndCapBField; ///< The bfield in the muon endcap, units Tesla
0039 
0040   float m_muonEndCapInnerZ; ///< The muon endcap inner z coordinate, units mm
0041   float m_coilMidPointR;    ///< The r coordinate at the coil midpoint, units mm
0042 };
0043 
0044 } // namespace lc_content
0045 
0046 #endif // #ifndef LC_BFIELD_PLUGIN_H