diff --git a/NPLib/Physics/TReactionConditions.cxx b/NPLib/Physics/TReactionConditions.cxx index cb6e9d6deade56168fa0b74af29f8093bec42c91..bd7476763a14478031e1ad82dd5a03e3b1aab34c 100644 --- a/NPLib/Physics/TReactionConditions.cxx +++ b/NPLib/Physics/TReactionConditions.cxx @@ -53,6 +53,7 @@ void TReactionConditions::Clear(){ // emmitted particles fRC_Particle_Name.clear(); fRC_Theta.clear(); + fRC_Phi.clear(); fRC_Kinetic_Energy.clear(); fRC_Momentum_Direction_X.clear(); fRC_Momentum_Direction_Y.clear(); diff --git a/NPLib/Physics/TReactionConditions.h b/NPLib/Physics/TReactionConditions.h index 2a46cb1ca32368f8a6dd2157dc0c2c752a7bba80..f7ce597e719b04702a94a894217ebe7e506c2c0c 100644 --- a/NPLib/Physics/TReactionConditions.h +++ b/NPLib/Physics/TReactionConditions.h @@ -62,6 +62,7 @@ private: // emmitted particles vector<string> fRC_Particle_Name; vector<double> fRC_Theta; + vector<double> fRC_Phi; vector<double> fRC_Kinetic_Energy; vector<double> fRC_Momentum_Direction_X; vector<double> fRC_Momentum_Direction_Y; @@ -95,6 +96,7 @@ public: // emmitted particles void SetParticleName (const string & Particle_Name) {fRC_Particle_Name.push_back(Particle_Name);}//! void SetTheta (const double & Angle) {fRC_Theta.push_back(Angle);}//! + void SetPhi (const double & Angle) {fRC_Phi.push_back(Angle);}//! void SetKineticEnergy (const double & Kinetic_Energy) {fRC_Kinetic_Energy.push_back(Kinetic_Energy);}//! void SetMomentumDirectionX (const double & Momentum_Direction_X) {fRC_Momentum_Direction_X.push_back(Momentum_Direction_X);}//! void SetMomentumDirectionY (const double & Momentum_Direction_Y) {fRC_Momentum_Direction_Y.push_back(Momentum_Direction_Y);}//! @@ -121,6 +123,7 @@ public: int GetParticleMultiplicity() const {return fRC_Kinetic_Energy.size();}//! string GetParticleName (const int &i) const {return fRC_Particle_Name[i];}//! double GetTheta (const int &i) const {return fRC_Theta[i];}//! + double GetPhi (const int &i) const {return fRC_Phi[i];}//! double GetKineticEnergy (const int &i) const {return fRC_Kinetic_Energy[i];}//! double GetMomentumDirectionX (const int &i) const {return fRC_Momentum_Direction_X[i];}//! double GetMomentumDirectionY (const int &i) const {return fRC_Momentum_Direction_Y[i];}//! diff --git a/NPSimulation/Process/BeamReaction.cc b/NPSimulation/Process/BeamReaction.cc index 27158ff4ecf1c7916123d31012d9cab47c6b33b2..5f4d79daa05116898f4b60d4a5ac54a9b98ad9fa 100644 --- a/NPSimulation/Process/BeamReaction.cc +++ b/NPSimulation/Process/BeamReaction.cc @@ -308,6 +308,10 @@ void NPS::BeamReaction::DoIt(const G4FastTrack& fastTrack,G4FastStep& fastStep) // Angle 3 and 4 // m_ReactionConditions->SetTheta(Theta3/deg); m_ReactionConditions->SetTheta(Theta4/deg); + + m_ReactionConditions->SetPhi(phi/deg); + if((phi+pi)/deg > 360 ) m_ReactionConditions->SetPhi((phi-pi)/deg); + else m_ReactionConditions->SetPhi((phi+pi)/deg); // Energy 3 and 4 // m_ReactionConditions->SetKineticEnergy(Energy3); m_ReactionConditions->SetKineticEnergy(Energy4);