44 lines
920 B
C++
44 lines
920 B
C++
#ifndef LEMUSRELECTRICMAGFIELD_H
|
|
#define LEMUSRELECTRICMAGFIELD_H 1
|
|
|
|
#include"G4ElectricField.hh"
|
|
#include"G4MagneticField.hh"
|
|
#include"G4ElectroMagneticField.hh"
|
|
#include "globals.hh"
|
|
#include "G4ios.hh"
|
|
|
|
#include <iomanip.h>
|
|
#include <iostream>
|
|
#include <fstream>
|
|
#include <vector>
|
|
#include <cmath>
|
|
#include "CLHEP/Matrix/Vector.h"
|
|
#include "CLHEP/Matrix/Matrix.h"
|
|
|
|
|
|
#include "LEMuSRElectricField.hh"
|
|
|
|
class LEMuSRElMagField : public G4MagneticField
|
|
{
|
|
public:
|
|
|
|
|
|
LEMuSRElMagField( G4ElectricField* E, G4MagneticField* B, G4double field1_val, G4double field2_val);
|
|
|
|
~LEMuSRElMagField();
|
|
|
|
void GetFieldValue(const G4double point[4], G4double *Bfield) const;
|
|
|
|
void Test();
|
|
|
|
G4bool DoesFieldChangeEnergy() const { return true; }// important to state that field changes energy (electric part!!!)
|
|
|
|
public:
|
|
G4double coef1, coef2;
|
|
G4ElectricField* field1;
|
|
G4MagneticField* field2;
|
|
|
|
};
|
|
|
|
#endif
|