43 {.01, .03, .05, .1, .15, .2, .3, .4, .5, .6, .7, .8, .9, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0, 2.2, 2.5, 3.0, 3.5, 4.0, 5.0, 6.0, 8.0, 10., 15, 20, 50, 100};
83 std::vector<G4double> cxCache;
93 partialCx =
components[i]->CrossSection(trk1,trk2);
100 partialCxSum += partialCx;
101 cxCache.push_back(partialCx);
106 for (i=0; i<cxCache.size(); i++)
108 running += cxCache[i];
109 if (running > random)
125 G4bool isInCharge =
false;
132 G4CollisionVector::const_iterator iter;
133 for (iter = comps->begin(); iter != comps->end(); ++iter)
135 if ( ((*iter))->IsInCharge(trk1,trk2) ) isInCharge =
true;
149 if(
theBuffer[i].InCharge(aP, bP))
return;
156 for(
size_t tt=0; tt<maxE; tt++)
191 crossSect +=
components[i]->CrossSection(a,b);
194 G4double sqrts = (a4Momentum+b4Momentum).mag();
209 return theBuffer[i].CrossSection(trk1, trk2);
212 throw G4HadronicException(__FILE__, __LINE__,
"G4CollisionComposite::BufferedCrossSection - Blitz !!");
virtual const G4CollisionVector * GetComponents() const
std::vector< G4CrossSectionBuffer > theBuffer
CLHEP::Hep3Vector G4ThreeVector
virtual const G4VCrossSectionSource * GetCrossSectionSource() const
static const G4int nPoints
G4CollisionVector components
#define G4MUTEXINIT(mutex)
virtual ~G4CollisionComposite()
G4double BufferedCrossSection(const G4KineticTrack &trk1, const G4KineticTrack &trk2) const
virtual G4double CrossSection(const G4KineticTrack &trk1, const G4KineticTrack &trk2) const
void BufferCrossSection(const G4ParticleDefinition *aP, const G4ParticleDefinition *bP)
std::vector< G4VCollision * > G4CollisionVector
virtual G4KineticTrackVector * FinalState(const G4KineticTrack &trk1, const G4KineticTrack &trk2) const
G4double GetPDGMass() const
virtual G4bool IsInCharge(const G4KineticTrack &trk1, const G4KineticTrack &trk2) const
void push_back(G4double S, G4double x)
static const G4double theT[]
const G4ParticleDefinition * GetDefinition() const
#define G4MUTEXDESTROY(mutex)
virtual G4double CrossSection(const G4KineticTrack &trk1, const G4KineticTrack &trk2) const =0
CLHEP::HepLorentzVector G4LorentzVector