#ifndef MYELECTRICFIELD_HH #define MYELECTRICFIELD_HH #include "G4ElectricField.hh" #include "globals.hh" #include class MyElectricField : public G4ElectricField { public: MyElectricField(const G4String& filename); virtual ~MyElectricField(); virtual void GetFieldValue(const G4double point[4], G4double* field) const override; // Method to print field values at specified points void PrintFieldValues(const std::vector& points) const; private: struct FieldPoint { G4double x, y, z; G4double Ex, Ey, Ez; }; std::vector fieldData; void LoadFieldData(const G4String& filename); void InterpolateField(const G4double point[4], G4double* field) const; }; #endif