///§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§//* // LOW ENERGY MUON SPIN RELAXATION, ROTATION, RADIATION // // ID :LEMuSRElectricField.hh , v 1.3 // AUTHOR: Taofiq PARAISO // DATE : 2004-09-17 10:20 //§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§// // // & &&&&&&&&&& &&&&&&& &&&&&&&& // & & && && & && // & & & & & & && // & &&&&&&& & & &&&&&& &&&&&&&& // & & & && & & && // & & && & & && && & & // &&&&&&&&&& &&&&&&&&&& & &&&&& && &&&&&&& & && // & // & // & // & // Electric Field //§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§// #ifndef LEMUSRELECTRICFIELD_H #define LEMUSRELECTRICFIELD_H 1 #include"G4ElectricField.hh" #include"G4ElectroMagneticField.hh" #include "globals.hh" #include "G4ios.hh" #include #include #include #include #include #include "CLHEP/Matrix/Vector.h" #include "CLHEP/Matrix/Matrix.h" class LEMuSRElectricField : public G4ElectricField { public: LEMuSRElectricField(G4double fieldval,const char* Xfile, const char* Yfile, const char* Zfile,G4String map_length_unit, G4double Offset, G4double nx, G4double ny, G4double nz);//offset must be entered in millimeter LEMuSRElectricField(G4double fieldval,const char* file,G4String map_length_unit, G4double Offset, G4double nx, G4double ny, G4double nz); ~LEMuSRElectricField(); void GetFieldValue(const G4double Point[4], G4double *Bfield) const; void Test(); public: // std::vector< std::vector< std::vector< G4double > > > xField; // vector of // vector of // vector of G4doubles [[[a]i]j]k // std::vector< std::vector< std::vector< G4double > > > yField; // std::vector< std::vector< std::vector< G4double > > > zField; G4double xField[90][90][201]; G4double yField[90][90][201]; G4double zField[90][90][201]; // The physical limits of the defined region G4double minx, maxx, miny, maxy, minz, maxz; G4double dx, dy, dz, zOffset, nx,ny,nz, FieldVal; G4String map_unit; }; #endif