Message: Electrons not affected by electric field? Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

None Electrons not affected by electric field? 

Forum: Fields: Magnetic and Otherwise
Date: 19 Jan, 2015
From: Robert Schaefer <Robert Schaefer>

Dear G4 community,

I'm new to Geant4 and I'm using it for my PhD thesis. My work is about an EUV spectrometer employed on the ISS. We're also working with gas ionization chambers.

The energy range of the photons are about 20eV < E_gamma < 70eV.

The gas ionization chamber is a cylinder (potential of mantle is 0V ) and a wire (not in the center of the cylinder, potential -23V). When radiation enters the chamber, it ionizes the gas inside (low pressure neon). The ions are sucked to the wire and the electrons are repelled to the chamber wall (see attached picture "ionChamb.png").

The geometry is already set up and works, so no errors here. However the implementation of the (non uniform) electric field is quite a challenge and I need help here.

My ElectricField class is quite simple. The script just consits of the constructor, destructor and the "GetFieldValue"-function. In this function, the electric field value (volt/meter) is calculated for each hit position (regarding the non central wire position, etc):


void B7ElectricField::GetFieldValue(const G4double Point[3],G4double *Efield) const
 /* some math here to calculate E */

With this function, I want to return the electric field strength in the x-y-plane. The value in the z plane (which is along the chamber) is always zero. The electric field is then called in my DetectorConstruction file, after building the geometry:


     B7ElectricField* electricField=new B7ElectricField();
     G4EqMagElectricField* fEquation = new G4EqMagElectricField(electricField);

     G4int nvar = 4;
     G4MagIntegratorStepper* fStepper = new G4ClassicalRK4( fEquation, nvar );       

     G4FieldManager* fFieldMgr= G4TransportationManager::GetTransportationManager()->GetFieldManager();
     fFieldMgr->SetDetectorField(electricField );

     G4double fMinStep     = 1*mm ; // minimal step of 100 microns

     G4MagInt_Driver* fIntgrDriver = new G4MagInt_Driver(fMinStep, fStepper, fStepper->GetNumberOfVariables() );

     G4ChordFinder* fChordFinder = new G4ChordFinder(fIntgrDriver);
     fFieldMgr->SetChordFinder( fChordFinder );
(this piece of code is taken from "" and altered to my case)

Now when I compile and run my code, the electrons are not affected by the electric field. What am I missing here? Is the implementation of the field wrong? How would you define an individual non uniform electric field and implement it here?

The PhysicsList I'm using is the PAI model.

Thanks & best regards, Robert

PS: I've not been using C++ for very long, so my code and way of programming may not look very aesthetic :)


Inline Depth:
 1 1
 All All
Outline Depth:
 1 1
 2 2
 All All
Add message: (add)

1 None: Re: Electrons not affected by electric field?   (John Apostolakis - 19 Jan, 2015)
2 Question: Re: Electrons not affected by electric field?   (Robert Schaefer - 19 Jan, 2015)
1 News: Re: Electrons not affected by electric field?   (Robert Schaefer - 20 Jan, 2015)
(_ None: Re: Electrons not affected by electric field?   (John Apostolakis - 21 Jan, 2015)
3 Question: Re: Electrons not affected by electric field?   (Selina Chen - 05 Apr, 2016)
 Add Message Add Message
to: "Electrons not affected by electric field?"

 Subscribe Subscribe

This site runs SLAC HyperNews version 1.11-slac-98, derived from the original HyperNews

[ Geant 4 Home | Geant 4 HyperNews | Search | Request New Forum | Feedback ]