51 widthOfPtSquare(-2*
sqr(sigmaPt)) , minExtraMass(minextraMass),
 
   85         Psum=Pprojectile+Ptarget;
 
   91         if ( Ptmp.pz() <= 0. )
 
   98         toCms.rotateZ(-1*Ptmp.phi());
 
   99         toCms.rotateY(-1*Ptmp.theta());
 
  108         Pprojectile.transform(toCms);
 
  109         Ptarget.transform(toCms);
 
  117                 if (whilecount++ >= 500 && (whilecount%100)==0)
 
  121                         if (whilecount > 1000 )
 
  137                 G4double Qplus =-1 * pt2 / Xminus/Ptarget.minus();
 
  138                 G4double Qminus=     pt2 / Xplus /Pprojectile.plus();
 
  140                 if ( KeepProjectile )
 
  143                                         / (Pprojectile.plus() + Qplus )
 
  144                                         -  Pprojectile.minus();
 
  147                         Qplus = Ptarget.plus()
 
  149                                           / (Ptarget.minus() - Qminus );
 
  152                 Qmomentum.setPz( (Qplus-Qminus)/2 );
 
  153                 Qmomentum.setE(  (Qplus+Qminus)/2 );
 
  161         } 
while (  (Ptarget-Qmomentum).mag2() <= Mtarget2
 
  162                         || (Pprojectile+Qmomentum).mag2() <= Mprojectile2
 
  163                         || (Ptarget-Qmomentum).e() < 0.
 
  164                         || (Pprojectile+Qmomentum).e() < 0. );
 
  169         Pprojectile += Qmomentum;
 
  171         Ptarget     -= Qmomentum;
 
  186         Pprojectile.transform(toLab);
 
  187         Ptarget.transform(toLab);
 
  212         if ( Xmin <= 0. || range <=0. ) 
 
  214                 G4cout << 
" Xmin, range : " << Xmin << 
" , " << range << 
G4endl;
 
  215                 throw G4HadronicException(__FILE__, __LINE__, 
"G4SingleDiffractiveExcitation::ChooseX : Invalid arguments ");
 
  234         } 
while ( pt2 > maxPtSquare);
 
  240         return G4ThreeVector (pt2*std::cos(phi), pt2*std::sin(phi), 0.);    
 
~G4SingleDiffractiveExcitation()
 
G4bool ExciteParticipants(G4VSplitableHadron *aPartner, G4VSplitableHadron *bPartner) const 
 
G4double ChooseX(G4double Xmin, G4double Xmax) const 
 
CLHEP::Hep3Vector G4ThreeVector
 
CLHEP::HepLorentzRotation G4LorentzRotation
 
const G4double widthOfPtSquare
 
G4ParticleDefinition * GetDefinition() const 
 
G4GLOB_DLL std::ostream G4cout
 
static const double perCent
 
const G4LorentzVector & Get4Momentum() const 
 
G4double GetPDGMass() const 
 
G4SingleDiffractiveExcitation(G4double sigmaPt=0.6 *CLHEP::GeV, G4double minExtraMass=250 *CLHEP::MeV, G4double x0mass=250 *CLHEP::MeV)
 
G4ThreeVector GaussianPt(G4double widthSquare, G4double maxPtSquare) const 
 
void Set4Momentum(const G4LorentzVector &a4Momentum)
 
const G4double minExtraMass
 
CLHEP::HepLorentzVector G4LorentzVector