42 #ifndef G4BinaryCascade_hh
43 #define G4BinaryCascade_hh
139 std::vector<G4KineticTrack *>::iterator i;
140 for(i = aV.begin(); i != aV.end(); ++i)
142 result +=
G4lrint((*i)->GetDefinition()->GetPDGCharge());
149 std::vector<G4KineticTrack *>::iterator i;
150 for(i = aV.begin(); i != aV.end(); ++i)
152 if ( (*i)->GetDefinition()->GetBaryonNumber() != 0 ){
153 result +=
G4lrint((*i)->GetDefinition()->GetPDGCharge());
G4bool DebugEpConservation(const G4HadProjectile &aTrack, G4ReactionProductVector *products)
void FindDecayCollision(G4KineticTrack *)
G4VFieldPropagation * thePropagator
G4bool Capture(G4bool verbose=false)
void DebugApplyCollisionFail(G4CollisionInitialState *collision, G4KineticTrackVector *products)
G4KineticTrackVector theFinalState
G4double initial_nuclear_mass
CLHEP::Hep3Vector G4ThreeVector
CLHEP::HepLorentzRotation G4LorentzRotation
G4ReactionProductVector * ProductsAddFinalState(G4ReactionProductVector *products, G4KineticTrackVector &finalState)
G4LorentzVector theInitial4Mom
G4LorentzRotation precompoundLorentzboost
G4KineticTrackVector theProjectileList
void ClearAndDestroy(G4KineticTrackVector *ktv)
G4ExcitationHandler * theExcitationHandler
G4ThreeVector GetSpherePoint(G4double r, const G4LorentzVector &momentumdirection)
G4ReactionProductVector * Propagate1H1(G4KineticTrackVector *, G4V3DNucleus *)
G4double currentInitialEnergy
G4ReactionProductVector * DecayVoidNucleus()
void PrintWelcomeMessage()
G4Fragment * FindFragments()
G4LorentzVector GetFinal4Momentum()
G4bool BuildLateParticleCollisions(G4KineticTrackVector *secondaries)
virtual void PropagateModelDescription(std::ostream &) const
const G4BinaryCascade & operator=(G4BinaryCascade &right)
G4LorentzVector theProjectile4Momentum
std::vector< G4BCAction * > theImR
G4HadFinalState * ApplyYourself(const G4HadProjectile &aTrack, G4Nucleus &theNucleus)
G4int GetTotalCharge(std::vector< G4KineticTrack * > &aV)
std::vector< G4ReactionProduct * > G4ReactionProductVector
G4double GetExcitationEnergy()
G4double GetIonMass(G4int Z, G4int A)
virtual ~G4BinaryCascade()
G4LorentzVector GetFinalNucleusMomentum()
void UpdateTracksAndCollisions(G4KineticTrackVector *oldSecondaries, G4KineticTrackVector *oldTarget, G4KineticTrackVector *newSecondaries)
G4ThreeVector theMomentumTransfer
G4CollisionManager * theCollisionMgr
G4bool CheckPauliPrinciple(G4KineticTrackVector *)
G4KineticTrackVector theCapturedList
G4ReactionProductVector * ProductsAddPrecompound(G4ReactionProductVector *products, G4ReactionProductVector *preco)
G4Scatterer * theH1Scatterer
void PrintKTVector(G4KineticTrackVector *ktv, std::string comment=std::string(""))
virtual G4ReactionProductVector * Propagate(G4KineticTrackVector *, G4V3DNucleus *)
static const G4double A[nN]
G4bool ApplyCollision(G4CollisionInitialState *)
G4ReactionProductVector * HighEnergyModelFSProducts(G4ReactionProductVector *, G4KineticTrackVector *secondaries)
G4BinaryCascade(G4VPreCompoundModel *ptr=0)
G4bool CorrectShortlivedFinalsForFermi(G4KineticTrackVector *products, G4double initial_Efermi)
void DebugApplyCollision(G4CollisionInitialState *collision, G4KineticTrackVector *products)
G4bool DoTimeStep(G4double timeStep)
virtual void ModelDescription(std::ostream &) const
void FindLateParticleCollision(G4KineticTrack *)
G4DecayKineticTracks decayKTV
G4KineticTrackVector theTargetList
G4ReactionProductVector * FillVoidNucleusProducts(G4ReactionProductVector *)
G4ReactionProductVector * ProductsAddFakeGamma(G4ReactionProductVector *products)
G4bool CheckChargeAndBaryonNumber(G4String where)
G4int GetTotalBaryonCharge(std::vector< G4KineticTrack * > &aV)
G4BCLateParticle * theLateParticle
G4ReactionProductVector * DeExcite()
G4int operator==(G4BinaryCascade &right)
G4int operator!=(G4BinaryCascade &right)
G4KineticTrackVector theSecondaryList
G4ParticleDefinition * thePrimaryType
G4KineticTrackVector * CorrectBarionsOnBoundary(G4KineticTrackVector *in, G4KineticTrackVector *out)
G4double CorrectShortlivedPrimaryForFermi(G4KineticTrack *primary, G4KineticTrackVector target_collection)
CLHEP::HepLorentzVector G4LorentzVector
void FindCollisions(G4KineticTrackVector *)