#include <ExtBesMagneticField.h>
Public Member Functions | |
ExtBesMagneticField () | |
ExtBesMagneticField () | |
G4FieldManager * | GetFieldManager () |
G4FieldManager * | GetFieldManager () |
void | GetFieldValue (const double Point[3], double *Bfield) const |
void | GetFieldValue (const double Point[3], double *Bfield) const |
~ExtBesMagneticField () | |
~ExtBesMagneticField () | |
Private Attributes | |
IMagneticFieldSvc * | m_pIMF |
IMagneticFieldSvc * | 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 }
|
|
00042 {}
|
|
|
|
|
|
|
|
00067 {
00068 return G4TransportationManager::GetTransportationManager()->GetFieldManager();
00069 }
|
|
|
|
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 }
|
|
|
|
|