ExtBesMagneticField Class Reference

#include <ExtBesMagneticField.h>

List of all members.

Public Member Functions

 ExtBesMagneticField ()
 ~ExtBesMagneticField ()
G4FieldManager * GetFieldManager ()
void GetFieldValue (const double Point[3], double *Bfield) const

Private Attributes

IMagneticFieldSvcm_pIMF


Detailed Description

Definition at line 10 of file ExtBesMagneticField.h.


Constructor & Destructor Documentation

ExtBesMagneticField::ExtBesMagneticField (  ) 

Definition at line 28 of file ExtBesMagneticField.cxx.

References GetFieldManager(), and m_pIMF.

00029 {
00030         GetFieldManager()->SetDetectorField(this);
00031         GetFieldManager()->CreateChordFinder(this);
00032         //      GetFieldManager()->SetDeltaOneStep(0.5*mm);
00033         //      GetFieldManager()->SetDeltaIntersection(0.5*mm);
00034         ISvcLocator* svcLocator = Gaudi::svcLocator();
00035         StatusCode sc = svcLocator->service("MagneticFieldSvc",m_pIMF);
00036         if(sc!=StatusCode::SUCCESS) {
00037                 G4cout<< "Unable to open Magnetic field service"<<G4endl;
00038   }
00039 }

ExtBesMagneticField::~ExtBesMagneticField (  ) 

Definition at line 42 of file ExtBesMagneticField.cxx.

00042 {}


Member Function Documentation

G4FieldManager * ExtBesMagneticField::GetFieldManager (  ) 

Definition at line 66 of file ExtBesMagneticField.cxx.

Referenced by ExtBesMagneticField().

00067 {
00068         return G4TransportationManager::GetTransportationManager()->GetFieldManager();
00069 }

void ExtBesMagneticField::GetFieldValue ( const double  Point[3],
double *  Bfield 
) const

Definition at line 45 of file ExtBesMagneticField.cxx.

References IMagneticFieldSvc::fieldVector(), IMagneticFieldSvc::ifRealField(), m_pIMF, IMagneticFieldSvc::uniFieldVector(), and x.

00046 {
00047         double x=Point[0];
00048         double y=Point[1];
00049         double z=Point[2];
00050 
00051         HepPoint3D r(x,y,z);
00052         HepVector3D b;
00053 
00054         if(m_pIMF->ifRealField() == true) 
00055           m_pIMF->fieldVector(r,b);
00056         else
00057           m_pIMF->uniFieldVector(r,b);
00058 
00059         Bfield[0]=b.x();
00060         Bfield[1]=b.y();
00061         Bfield[2]=b.z();
00062 }


Member Data Documentation

IMagneticFieldSvc* ExtBesMagneticField::m_pIMF [private]

Definition at line 20 of file ExtBesMagneticField.h.

Referenced by ExtBesMagneticField(), and GetFieldValue().


Generated on Tue Nov 29 23:19:33 2016 for BOSS_7.0.2 by  doxygen 1.4.7