diff --git a/NPLib/Physics/TReactionConditions.cxx b/NPLib/Physics/TReactionConditions.cxx
index 460075917dcdfd0c6dab8a20379546905751a64c..f4882241d3a74dc507eeebbe8ba27d3594ff1905 100644
--- a/NPLib/Physics/TReactionConditions.cxx
+++ b/NPLib/Physics/TReactionConditions.cxx
@@ -72,7 +72,8 @@ void TReactionConditions::Dump() const{
     cout << "\t Phi_Y: " << fRC_Beam_Emittance_PhiY << endl;
     cout << "\t Theta: " << fRC_Beam_Emittance_Theta << endl;
     cout << "\t Phi: " << fRC_Beam_Emittance_Phi << endl;
-    
+    cout << "\t Direction: " ;
+    GetBeamDirection().Print();
     
     // Beam status at the initial interaction point
     cout << "\t ---- Interaction Point ---- " << endl;
@@ -87,17 +88,23 @@ void TReactionConditions::Dump() const{
     << fRC_Internal_Momentum.Y() << " ; "
     << fRC_Internal_Momentum.Z() << ")" << endl;
  
-    
+    TVector3 *emitted= new TVector3(); 
     // emmitted particle
     unsigned int size = fRC_Particle_Name.size();
     for(unsigned int i = 0 ; i < size; i ++){
         cout << "\t ---- Particle " << i << " ---- " << endl;
         cout << "\t Particle Name: " <<   fRC_Particle_Name[i] << endl;
-        cout << "\t Kinetic Energy: " <<   fRC_Kinetic_Energy[i] << endl;
-        cout << "\t Momentum Direction: ( "
+        cout << "\t Kinetic Energy: " <<   fRC_Kinetic_Energy[i] << endl; 
+        cout << "\t Angles in beam frame (along Z)"<< endl;
+        cout << "\t Theta: " <<   fRC_Theta[i] << endl;
+        cout << "\t Phi: " <<   fRC_Phi[i] << endl;
+        cout << "\t Momentum Direction in world frame: ( "
         << fRC_Momentum_Direction_X[i] << " ; "
         << fRC_Momentum_Direction_Y[i] << " ; "
         << fRC_Momentum_Direction_Z[i] << ")" << endl;
+        emitted->SetXYZ(fRC_Momentum_Direction_X[i],fRC_Momentum_Direction_Y[i],fRC_Momentum_Direction_Z[i]);
+        cout << "\t ThetaWorld: " << emitted->Theta()*180./pi<< endl;
+        cout << "\t PhiWorld: " << emitted->Phi()*180./pi<< endl;
     }
 
    
diff --git a/NPLib/Physics/TReactionConditions.h b/NPLib/Physics/TReactionConditions.h
index 1a85cda8c9fb448ba6c1f33e5490b542ee6f91c2..ade0078b866ab31e50e5d22d1626030c07a4bba8 100644
--- a/NPLib/Physics/TReactionConditions.h
+++ b/NPLib/Physics/TReactionConditions.h
@@ -48,27 +48,33 @@ private:
     
     // Beam beam parameter
     string fRC_Beam_Particle_Name;
-    double fRC_Beam_Emittance_ThetaX;
-    double fRC_Beam_Emittance_PhiY;
-    double fRC_Beam_Emittance_Theta;
-    double fRC_Beam_Emittance_Phi;
-    double fRC_Beam_Reaction_Energy;
-
+    double fRC_Beam_Emittance_ThetaX;   //beam angle between Pxz and Z axis 
+    double fRC_Beam_Emittance_PhiY;     //beam angle between Pyz and Z axis
+    double fRC_Beam_Emittance_Theta;    //spher. theta (betw. beam dir. and Z axis)
+    double fRC_Beam_Emittance_Phi;      //spher. phi (betw. Pyz and X axis)
+    double fRC_Beam_Reaction_Energy;    //beam kinetic energy at vertex
+    
+    //Reaction vertex coordinates
     double fRC_Vertex_Position_X;
     double fRC_Vertex_Position_Y;
     double fRC_Vertex_Position_Z;
+    //Center of mass angle for the reaction
+    double fRC_ThetaCM;
+
+    //Two-Body reaction: Exc. energy of the two products
     double fRC_ExcitationEnergy3;
     double fRC_ExcitationEnergy4;
-    double fRC_ThetaCM;
+    //QFS reacion only: Internal mom. of the removed particle
     TVector3 fRC_Internal_Momentum;
-    // emmitted particles
+
+    // Emitted reaction products properties
     vector<string> fRC_Particle_Name;
-    vector<double> fRC_Theta;
-    vector<double> fRC_Phi;
+    vector<double> fRC_Theta;                 //in the frame with beam on Z axis
+    vector<double> fRC_Phi;                   //in the frame with beam on Z axis
     vector<double> fRC_Kinetic_Energy;
-    vector<double> fRC_Momentum_Direction_X;
-    vector<double> fRC_Momentum_Direction_Y;
-    vector<double> fRC_Momentum_Direction_Z;
+    vector<double> fRC_Momentum_Direction_X;  //in the world frame
+    vector<double> fRC_Momentum_Direction_Y;  //in the world frame
+    vector<double> fRC_Momentum_Direction_Z;  //in the world frame
     
 public:
     TReactionConditions();
@@ -139,31 +145,29 @@ public:
     double GetMomentumDirectionX  (const int &i) const {return fRC_Momentum_Direction_X[i];}//!
     double GetMomentumDirectionY  (const int &i) const {return fRC_Momentum_Direction_Y[i];}//!
     double GetMomentumDirectionZ  (const int &i) const {return fRC_Momentum_Direction_Z[i];}//!
-    TVector3 GetParticleMomentum  (const int &i) const {
-      return TVector3(fRC_Momentum_Direction_X[i],fRC_Momentum_Direction_Y[i],fRC_Momentum_Direction_Z[i]).Unit();}//!
-
     TVector3 GetBeamDirection         () const ;
     TVector3 GetParticleDirection     (const int i) const ; 
 
-
-    double GetThetaLab_WorldFrame(const int i) const{
+    double GetTheta_WorldFrame(const int i) const{
       return (GetParticleDirection(i).Theta())/deg;
     }
-    double GetThetaLab_BeamFrame (const int i) const{
-      return (GetParticleDirection(i).Angle(GetBeamDirection()))/deg;
-    } 
- 
-    double GetPhiLab_WorldFrame (const int i) const {
+    double GetPhi_WorldFrame (const int i) const {
       return (M_PI + GetParticleDirection(i).Phi())/deg;
       // to have Phi in [0,2pi]] and not [-pi,pi]]
     }
-   double GetPhiLab_BeamFrame (const int i) const{  
+
+    //Two following methods should return angles identical as GetTheta() and GetPhi()
+    //spherical angles when beam axis along Z
+    // Only used for consistency checks
+    double GetTheta_BeamFrame (const int i) const{
+      return (GetParticleDirection(i).Angle(GetBeamDirection()))/deg;
+    } 
+   double GetPhi_BeamFrame (const int i) const{  
       TVector3 rot = GetParticleDirection(i);
       rot.RotateUz(GetBeamDirection());
       return (M_PI + rot.Phi())/deg;
     } 
  
-    
     unsigned int GetEmittedMult() const {return fRC_Particle_Name.size();} 
     
     ClassDef(TReactionConditions, 1) // TReactionConditions structure