kaliveda-dev team mailing list archive
-
kaliveda-dev team
-
Mailing list archive
-
Message #00341
[Bug 833482] Re: KV2Body CalculateKinematics can reset Q-value
** Branch linked: lp:kaliveda
--
You received this bug notification because you are a member of KaliVeda
Development Team, which is subscribed to KaliVeda.
https://bugs.launchpad.net/bugs/833482
Title:
KV2Body CalculateKinematics can reset Q-value
Status in KaliVeda data analysis framework:
Fix Committed
Status in KaliVeda 1.8 series:
Fix Committed
Bug description:
KaliVeda-1.8.1-2011-06-10, ROOT 5.30, Gentoo Linux (full update near
2011.4), gcc-4.5.2
A second CalculateKinematics() call on a KV2Body somehow sets the
Q-value to zero. Prior to the overhaul on KV2Body, this did not
happen. For example, this code:
KVNucleus *beam = new KVNucleus;
beam->Set("30S");
KVNucleus *target = new KVNucleus;
target->Set("4He");
KVNucleus *rib = new KVNucleus;
rib->Set("33Cl");
KVNucleus *recoil = new KVNucleus;
recoil->Set("1H");
beam->SetEnergy(48);
KV2Body reaction;
reaction.SetProjectile(beam);
reaction.SetTarget(target);
reaction.SetOutgoing(rib);
reaction.CalculateKinematics();
reaction.Print();
cout << "testing Q value: " << reaction.GetQReaction() << endl;
reaction.CalculateKinematics();
cout << "testing Q value: " << reaction.GetQReaction() << endl;
Leads to the output:
***** REACTION 30S + 4He ---> 33Cl + 1H ******
E.LAB = 48 MEV QGG = 2.0768 MEV
E.EXC = 0 MEV ==> Q-REACTION = 2.0768 MEV
AVAILABLE ENERGY IN C.M. : ECM = 5.65231 MEV (0.166244 MEV/A)
PROJECTILE VELOCITY IN LAB 1.75532 CM/NS ( 0.0585511 * C )
VELOCITY OF C.M. 1.54891 CM/NS
ENERGY - VELOCITY OF NUCLEUS 1 IN CM : 0.66604 MEV 0.207032 CM/NS (K=7.48152)
ENERGY - VELOCITY OF NUCLEUS 2 IN CM : 4.98627 MEV 1.54891 CM/NS (K=1)
ENERGY - VELOCITY OF NUCLEUS 3 IN CM : 0.230092 MEV 0.116034 CM/NS (K=13.3488)
ENERGY - VELOCITY OF NUCLEUS 4 IN CM : 7.49901 MEV 3.76674 CM/NS (K=0.411208)
MAXIMUM SCATTERING ANGLE IN LABORATORY
THETA #3# 4.29052 DEG.
THETA #4# 180 DEG.
GRAZING ANGLE IN LABORATORY : PROJECTILE 2.53412 DEG.
GRAZING ANGLE IN LABORATORY : TARGET 8.41611 DEG.
testing Q value: 2.0768
testing Q value: 0
Another difference using the new KV2Body is that it no longer
dynamically interacts with the KVParticles. Previously, if a
KVParticle had two SetEnergy calls, one before and one after the
CalculateKinematics, the last energy was reflected in calculations;
now only the settings prior to CalculateKinematics are used.
Personally I prefer the dynamic interaction.
The new static behavior would be okay, if one was able to send
additional CalculateKinematics calls (which cannot be done at present
due to the Q-value reset).
PS: New KV2Body implementation is so much more intuitive than the
previous one. Thanks for the hard work.
To manage notifications about this bug go to:
https://bugs.launchpad.net/kaliveda/+bug/833482/+subscriptions
References