53 G4cout<<
"G4QDiscProcessMixer::Constructor is called processName="<<name<<
G4endl;
68 if(!theDPVector.size())
70 std::pair<G4VDiscreteProcess*, G4double>* QDiscProc =
71 new std::pair<G4VDiscreteProcess*, G4double>(DP, maxEn);
72 theDPVector.push_back( QDiscProc );
76 if(ME < theDPVector[theDPVector.size()-1]->second)
78 std::pair<G4VDiscreteProcess*, G4double>* QDiscProc =
79 new std::pair<G4VDiscreteProcess*, G4double>(DP, ME);
80 theDPVector.push_back( QDiscProc );
88 ed <<
" LastMaxE(" << theDPVector.size()-1 <<
")="
89 << theDPVector[theDPVector.size()-1]->second <<
" <= MaxE=" << ME <<
G4endl;
90 G4Exception(
"G4QDiscProcessMixer::AddDiscreteProcess()",
"HAD_CHPS_0000",
102 if(particle == *DPParticle)
return true;
111 G4int maxDP=theDPVector.size();
112 if(maxDP)
for(
G4int i=maxDP-1; i>-1; i--)
if(kEn < theDPVector[i]->
second)
115 G4cout<<
"G4QDPMix::PSGetPIL:"<<i<<
",kEn="<<kEn<<
" < "<<theDPVector[i]->second<<
", PIL="
116 <<theDPVector[i]->first->PostStepGetPhysicalInteractionLength(Track,PrevStSize,F)
119 return theDPVector[i]->first->PostStepGetPhysicalInteractionLength(Track,PrevStSize,F);
134 G4int maxDP=theDPVector.size();
135 if(maxDP)
for(
G4int i=maxDP-1; i>-1; i--)
if(kEn < theDPVector[i]->
second)
138 G4cout<<
"G4QDPMix::PSDoIt: i="<<i<<
",kEn="<<kEn<<
" < "<<theDPVector[i]->second<<
G4endl;
142 return theDPVector[i]->first->PostStepDoIt(Track, Step);