00001
00002
00003
00004
00005 #ifndef G4IBFIELD_H
00006 #define G4IBFIELD_H
00007 #ifndef CASSERT
00008 #include <cassert>
00009 #define CASSERT
00010 #endif
00011
00012 #ifdef SITE_HAS_GEANT4
00013
00014 #include "G4MagneticField.hh"
00015 class BField;
00016
00017 class G4IBField : public G4MagneticField
00018 {
00019 public:
00020 G4IBField(BField* f) : fMINOSBField(f) { assert(f); }
00021
00022 virtual void GetFieldValue(const double Point[], double Bfield[]) const;
00023
00024 private:
00025 BField* fMINOSBField;
00026 };
00027
00028
00029 #else // SITE_HAS_GEANT4
00030 class BField;
00031 class G4IBField
00032 {
00033 public:
00034 G4IBField(BField* f) { }
00035 virtual void GetFieldValue(const double Point[], double Bfield[]) const {
00036 assert("G4IBField.h: Program compiled w/o GEANT4 support"=0);
00037 }
00038 };
00039 #endif // SITE_HAS_GEANT4
00040 #endif // G4IBFIELD_H
00041
00042
00043