Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions
G4V3DNucleus Class Referenceabstract

#include <G4V3DNucleus.hh>

Inheritance diagram for G4V3DNucleus:
G4Fancy3DNucleus

Public Member Functions

 G4V3DNucleus ()
 
virtual ~G4V3DNucleus ()
 
virtual void Init (G4int theA, G4int theZ)=0
 
virtual G4bool StartLoop ()=0
 
virtual G4NucleonGetNextNucleon ()=0
 
virtual const std::vector
< G4Nucleon > & 
GetNucleons ()=0
 
virtual G4int GetMassNumber ()=0
 
virtual G4double GetMass ()=0
 
virtual G4int GetCharge ()=0
 
virtual G4double GetNuclearRadius ()=0
 
virtual G4double GetNuclearRadius (const G4double maxRelativeDensity)=0
 
virtual G4double GetOuterRadius ()=0
 
virtual G4double CoulombBarrier ()=0
 
virtual void DoLorentzBoost (const G4LorentzVector &theBoost)=0
 
virtual void DoLorentzBoost (const G4ThreeVector &theBeta)=0
 
virtual void DoLorentzContraction (const G4LorentzVector &theBoost)=0
 
virtual void DoLorentzContraction (const G4ThreeVector &theBeta)=0
 
virtual void DoTranslation (const G4ThreeVector &theShift)=0
 
virtual const G4VNuclearDensityGetNuclearDensity () const =0
 
virtual void SortNucleonsIncZ ()=0
 
virtual void SortNucleonsDecZ ()=0
 
std::pair< G4double, G4doubleChooseImpactXandY (G4double maxImpact)
 
std::pair< G4double, G4doubleRefetchImpactXandY ()
 

Detailed Description

Definition at line 41 of file G4V3DNucleus.hh.

Constructor & Destructor Documentation

G4V3DNucleus::G4V3DNucleus ( )

Definition at line 32 of file G4V3DNucleus.cc.

33 {
34 }
G4V3DNucleus::~G4V3DNucleus ( )
virtual

Definition at line 41 of file G4V3DNucleus.cc.

42 {
43 }

Member Function Documentation

std::pair< G4double, G4double > G4V3DNucleus::ChooseImpactXandY ( G4double  maxImpact)
inline

Definition at line 87 of file G4V3DNucleus.hh.

References G4UniformRand, and test::x.

Referenced by G4FTFParticipants::GetList(), and G4QGSParticipants::SelectInteractions().

88 {
89  G4double x,y;
90  do
91  {
92  x = 2*G4UniformRand() - 1;
93  y = 2*G4UniformRand() - 1;
94  }
95  while(x*x + y*y > 1);
96  G4double impactX = x*(maxImpact);
97  G4double impactY = y*(maxImpact);
98  theImpactParameter.first = impactX;
99  theImpactParameter.second = impactY;
100  return theImpactParameter;
101 }
#define G4UniformRand()
Definition: Randomize.hh:87
double G4double
Definition: G4Types.hh:76
virtual G4double G4V3DNucleus::CoulombBarrier ( )
pure virtual

Implemented in G4Fancy3DNucleus.

virtual void G4V3DNucleus::DoLorentzBoost ( const G4LorentzVector theBoost)
pure virtual
virtual void G4V3DNucleus::DoLorentzBoost ( const G4ThreeVector theBeta)
pure virtual

Implemented in G4Fancy3DNucleus.

virtual void G4V3DNucleus::DoLorentzContraction ( const G4LorentzVector theBoost)
pure virtual

Implemented in G4Fancy3DNucleus.

Referenced by G4FTFModel::Init().

virtual void G4V3DNucleus::DoLorentzContraction ( const G4ThreeVector theBeta)
pure virtual

Implemented in G4Fancy3DNucleus.

virtual void G4V3DNucleus::DoTranslation ( const G4ThreeVector theShift)
pure virtual

Implemented in G4Fancy3DNucleus.

Referenced by G4FTFParticipants::GetList().

virtual G4int G4V3DNucleus::GetCharge ( )
pure virtual
virtual G4double G4V3DNucleus::GetMass ( )
pure virtual
virtual G4int G4V3DNucleus::GetMassNumber ( )
pure virtual
virtual G4Nucleon* G4V3DNucleus::GetNextNucleon ( )
pure virtual
virtual const G4VNuclearDensity* G4V3DNucleus::GetNuclearDensity ( ) const
pure virtual
virtual G4double G4V3DNucleus::GetNuclearRadius ( )
pure virtual
virtual G4double G4V3DNucleus::GetNuclearRadius ( const G4double  maxRelativeDensity)
pure virtual

Implemented in G4Fancy3DNucleus.

virtual const std::vector<G4Nucleon>& G4V3DNucleus::GetNucleons ( )
pure virtual
virtual G4double G4V3DNucleus::GetOuterRadius ( )
pure virtual
virtual void G4V3DNucleus::Init ( G4int  theA,
G4int  theZ 
)
pure virtual
std::pair<G4double, G4double> G4V3DNucleus::RefetchImpactXandY ( )
inline

Definition at line 77 of file G4V3DNucleus.hh.

77 {return theImpactParameter;}
virtual void G4V3DNucleus::SortNucleonsDecZ ( )
pure virtual
virtual void G4V3DNucleus::SortNucleonsIncZ ( )
pure virtual

Implemented in G4Fancy3DNucleus.

Referenced by G4VParticipants::Init().

virtual G4bool G4V3DNucleus::StartLoop ( )
pure virtual

The documentation for this class was generated from the following files: