44 :verboseLevel(0),trackID(0),unknown(0),unknownParticleDefined(false)
67 for(
size_t ii=0; ii<
TV.size();ii++)
74 nextVertex = nextVertex->
GetNext();
89 primaryVertex->
Print();
91 G4cout <<
"G4PrimaryTransformer::PrimaryVertex ("
100 while( primaryParticle != 0 )
103 primaryParticle = primaryParticle->
GetNext();
112 static G4int nWarn = 0;
113 if(!optPhoton) optPhoton = particleTable->FindParticle(
"opticalphoton");
116 if(!IsGoodForTrack(partDef))
123 <<
") --- Ignored" <<
G4endl;
129 GenerateSingleTrack(daughter,x0,y0,z0,t0,wv);
130 daughter = daughter->
GetNext();
142 <<
") --- Transfered with momentum " << primaryParticle->
GetMomentum()
155 "Polarization of the optical photon is null. Random polarization is assumed.");
156 G4cerr <<
"This warning message is issued up to 10 times." <<
G4endl;
167 if (modul2 > 0.) e_perpend = (1./std::sqrt(modul2))*product;
170 G4ThreeVector polar = std::cos(angle)*e_paralle + std::sin(angle)*e_perpend;
200 SetDecayProducts( primaryParticle, DP );
209 if(!CheckDynamicParticle(DP))
225 TV.push_back( track );
234 if(!daughter)
return;
244 if(!IsGoodForTrack(partDef))
250 <<
") --- Ignored" <<
G4endl;
253 SetDecayProducts(daughter,motherDP);
261 <<
") --- Attached with momentum " << daughter->
GetMomentum()
279 SetDecayProducts(daughter,DP);
281 if(!CheckDynamicParticle(DP))
287 daughter = daughter->
GetNext();
295 {
G4cerr <<
"unknownParticleDefined cannot be set true because G4UnknownParticle is not defined in the physics list."
305 if(decayProducts && decayProducts->
entries()>0)
return true;
307 <<
"G4PrimaryTransformer: a shortlived primary particle is found" <<
G4endl
308 <<
" without any valid decay table nor pre-assigned decay mode." <<
G4endl;
310 "This primary particle will be ignored.");