← Back to team overview

kaliveda-dev team mailing list archive

[Bug 833482] Re: KV2Body CalculateKinematics can reset Q-value

 

** Changed in: kaliveda/1.8
       Status: Confirmed => Fix Committed

-- 
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