Message: =?UTF-8?B?QnVnPz8=?= A question of G4EqEMFieldWithSpin.cc Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

None =?UTF-8?B?QnVnPz8=?= A question of G4EqEMFieldWithSpin.cc 

Forum: Fields: Magnetic and Otherwise
Date: 04 Nov, 2009
From: Hiromi Iinuma <Hiromi Iinuma>

Hello,

I am checking spin direction as a function of time in electromagnetic 
field.
G4EqEMFieldWithSpin.cc includes Thomas-BMT equation as follows:
http://www-geant4.kek.jp/lxr/source//geometry/magneticfield/src/
G4EqEMFieldWithSpin.cc#L27
------snip---------
128    G4ThreeVector BField(Field[0],Field[1],Field[2]);
129    G4ThreeVector EField(Field[3],Field[4],Field[5]);
130 
131    G4ThreeVector u(y[3], y[4], y[5]);
132    u *= pModuleInverse;
133 
134    G4double udb = anomaly*beta*gamma/(1.+gamma) * (BField * u);
135    G4double ucb = (anomaly+1./gamma)/beta;
136    G4double uce = anomaly + 1./(gamma+1.);
137 
138    G4ThreeVector Spin(y[9],y[10],y[11]);
139 
140    G4ThreeVector dSpin
141      = ParticleCharge*omegac*( ucb*(Spin.cross(BField))-udb*(Spin.
cross(u))
142                                // from Jackson
143                                // -uce*Spin.cross(u.cross(EField)) );
144                                // but this form has one less 
operation
145                                - uce*(u*(Spin*EField) - EField*(Spin
*u)) );
146 
----snip--------

I think "EField" or "usb" should be divided by "c_light".
Relativistic charged particle feels electric field as magnetic field via
"\vec{B} =\vec{beta} x \vec{E} /light_c".
In the source code (G4EqEMFieldWithSpin.cc), dimension does not match.
"EField [volt/m]=[kg*m/(sec^3*A)]"
"BField[tesla]=[kg/(sec^2*A)]" 

Without applying 
"EField *=1/light_c " or "uce = uce/light_c",
simulated spin rotation frequency do not agree with the correct 
frequency from Thomas-BMT equation.

If you look at a different part of "G4EqEMFieldWithSpin.cc",
this problem may be clear.
-----snip-------
101    G4double cof2     = Energy/c_light ;
-----snip--------
117    dydx[3] = cof1*(cof2*Field[3] + (y[4]*Field[2] - y[5]*Field[1])) ;
118    
119    dydx[4] = cof1*(cof2*Field[4] + (y[5]*Field[0] - y[3]*Field[2])) ;
 
120  
121    dydx[5] = cof1*(cof2*Field[5] + (y[3]*Field[1] - y[4]*Field[0])) ;
------snip--------
In this part, Electric field; Field[3-5] is multiplied by 1/c_light.
Here,
128    G4ThreeVector BField(Field[0],Field[1],Field[2]);
129    G4ThreeVector EField(Field[3],Field[4],Field[5]);

Does anybody has such a problem?
Thanks in advance,
Hiromi

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

1 More: Re: =?UTF-8?B?QnVnPz8=?= A question of G4EqEMFieldWithSpin.cc   (Kevin Lynch - 05 Nov, 2009)
(_ None: Re: =?UTF-8?B?QnVnPz8=?= A question of G4EqEMFieldWithSpin.cc   (Hiromi Iinuma - 05 Nov, 2009)
(_ None: Re: =?UTF-8?B?QnVnPz8=?= A question of G4EqEMFieldWithSpin.cc   (Kevin Lynch - 06 Nov, 2009)
 Add Message Add Message
to: "=?UTF-8?B?QnVnPz8=?= A question of G4EqEMFieldWithSpin.cc"

 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 ]