Message: Re: Insert a local electric field inside GEANT4 Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

Ok Re: Insert a local electric field inside GEANT4 

Keywords: Local Electric Field insode a simulation
Forum: Fields: Magnetic and Otherwise
Re: Question Insert a local electric field inside GEANT4 (G.A.P.Cirrone)
Re: Warning Re: Insert a local electric field inside GEANT4 (Gumplinger Peter)
Re: Idea Re: Insert a local electric field inside GEANT4 (Daniel Barna)
Re: More Re: Insert a local electric field inside GEANT4 (Gumplinger Peter)
Re: None Re: Insert a local electric field inside GEANT4 (luhao)
Date: 07 Jun, 2005
From: John Apostolakis <John Apostolakis>

Good questions. I will try to shine some light on our logical and legitimate questions and impressions, which unfortunately are due to rather old comments!

>>>       G4MagIntegratorStepper* myStepper = new G4ClassicalRK4(myEquation,nvar);
> Does that really work? Because G4ClassicalRK4 is inherit from 
> class G4MagErrorStepper; and according to the comment 
> of the source file in G4MagErrorStepper.hh:

Most steppers can be used for all fields: steppers are general except those deriving from G4MagHelicalStepper which assumes that the field is magnetic and uses the helix as zero-eth order solution:

 G4MagIntegratorStepper     <---- abstract/general ( "G4VIntegratorStepper")
     G4CashKarpRKF45       <---- general
     G4MagErrorStepper     <---- general (mid-point methods)
         ... many 
     G4MagHelicalStepper   <---- only for magnetic

I note too that unfortunately currently G4RKG3_Stepper is not working, as it reports if you try to use.

> which [class] is used to calculate the electric field?

The class that calculates the electric field in this case is G4UniformElectricField, called by G4EqMagElectricField, which you have registered to your stepper.

I note also that since Geant4 6.0 there is a small refinement that can simplify the code very slightly -- although the old recommended code below still works.

>>     G4bool fieldChangesEnergy = true;
>> 
>>     G4FieldManager* pFieldMgr =
>>         new G4FieldManager(myField,pChordFinder,FieldChangeEnergy);

If you say instead 
  G4FieldManager* pFieldMgr = new G4FieldManager(myField,pChordFinder);
the field manager will get the information about whether the field
changes a track's energy from the field itself (where it is available
since a small reorganisation of classes in release 6.0).

I hope this helps to clear up the situation.

Best regards, John Apostolakis.

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

 Add Message Add Message
to: "Re: Insert a local electric field inside GEANT4"

 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 ]