00001
00002
00003
00004
00005 #include "G4ElectroMagneticField.hh"
00006 #include "globals.hh"
00007 #include "G4RotationMatrix.hh"
00008 #include "G4VPhysicalVolume.hh"
00009
00010 #ifndef BDSField_h
00011 #define BDSField_h
00012
00013 class BDSField : public G4ElectroMagneticField
00014 {
00015 public:
00016
00017
00018
00019 BDSField();
00020
00021 ~BDSField();
00022
00023 virtual G4bool DoesFieldChangeEnergy() const;
00024
00025 virtual void GetFieldValue(const G4double Point[4],G4double *Bfield ) const;
00026
00027
00028 virtual void Prepare(G4VPhysicalVolume *referenceVolume);
00029
00030
00031
00032 void SetOriginRotation(G4RotationMatrix rot);
00033 void SetOriginTranslation(G4ThreeVector trans);
00034
00035 public:
00036
00037 G4RotationMatrix rotation;
00038 G4ThreeVector translation;
00039
00040 };
00041
00042
00043 #endif