50 if(temp->size()!=1)
throw G4HadronicException(__FILE__, __LINE__,
"SampleOne: Yield not correct");
53 result = temp->operator[](0);
81 G4double cmsMom = std::sqrt(the3CMS*the3CMS);
82 G4double sqrts = std::sqrt((totE-cmsMom)*(totE+cmsMom));
96 toZ.rotateZ(-1*Ptmp.phi());
97 toZ.rotateY(-1*Ptmp.theta());
115 for(
unsigned int ii=0; ii<it->size(); ii++)
118 it->operator[](ii)->GetTotalEnergy());
120 it->operator[](ii)->SetMomentum(pTmp1.vect());
121 it->operator[](ii)->SetTotalEnergy(pTmp1.e());
124 it->operator[](ii)->Lorentz(*(it->operator[](ii)), -1.*
theTarget);
129 cout <<
"G4NeutronHPEnAngCorrelation: "<<
130 it->at(ii)->GetTotalEnergy()<<
" "<<
131 it->at(ii)->GetMomentum()<<
G4endl;
133 it->operator[](ii)->Lorentz(*(it->operator[](ii)), -1.*theCMS);
141 it->operator[](ii)->Lorentz(*(it->operator[](ii)), -1.*
theTarget);
146 it->operator[](ii)->Lorentz(*(it->operator[](ii)), -1.*theCMS);
151 throw G4HadronicException(__FILE__, __LINE__,
"G4NeutronHPEnAngCorrelation::Sample: The frame of the finalstate is not specified");
153 result->push_back(it->operator[](ii));
G4NeutronHPProduct * theProducts
G4ReactionProduct theTarget
G4ReactionProduct * SampleOne(G4double anEnergy)
void Lorentz(const G4ReactionProduct &p1, const G4ReactionProduct &p2)
CLHEP::Hep3Vector G4ThreeVector
CLHEP::HepLorentzRotation G4LorentzRotation
void SetMomentum(const G4double x, const G4double y, const G4double z)
G4ReactionProduct theNeutron
std::vector< G4ReactionProduct * > G4ReactionProductVector
void SetMass(const G4double mas)
void SetTotalEnergy(const G4double en)
G4ReactionProductVector * Sample(G4double anEnergy)
G4double theTotalMeanEnergy
G4double GetKineticEnergy() const
G4double MeanEnergyOfThisInteraction()
G4double GetTotalEnergy() const
G4ThreeVector GetMomentum() const
G4ReactionProductVector * Sample(G4double anEnergy)
CLHEP::HepLorentzVector G4LorentzVector