31 #ifndef G4V3DNucleus_h 
   32 #define G4V3DNucleus_h 1 
   58       virtual const std::vector<G4Nucleon> & 
GetNucleons() = 0;
 
   81     std::pair<G4double, G4double> theImpactParameter;
 
   99   theImpactParameter.first = impactX;
 
  100   theImpactParameter.second = impactY;
 
  101   return theImpactParameter;
 
virtual G4int GetCharge()=0
 
virtual G4double GetNuclearRadius()=0
 
virtual G4bool StartLoop()=0
 
virtual const G4VNuclearDensity * GetNuclearDensity() const =0
 
virtual void DoLorentzContraction(const G4LorentzVector &theBoost)=0
 
std::pair< G4double, G4double > RefetchImpactXandY()
 
virtual G4int GetMassNumber()=0
 
virtual G4double CoulombBarrier()=0
 
virtual G4double GetOuterRadius()=0
 
virtual void Init(G4int theA, G4int theZ)=0
 
std::pair< G4double, G4double > ChooseImpactXandY(G4double maxImpact)
 
virtual void SortNucleonsDecZ()=0
 
virtual void DoLorentzBoost(const G4LorentzVector &theBoost)=0
 
virtual void SortNucleonsIncZ()=0
 
virtual G4double GetMass()=0
 
virtual const std::vector< G4Nucleon > & GetNucleons()=0
 
virtual G4Nucleon * GetNextNucleon()=0
 
virtual void DoTranslation(const G4ThreeVector &theShift)=0