Import Geant4 9.2.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 15:58:43 +02:00
parent 96c8bcd0af
commit b79225fb37
7544 changed files with 245407 additions and 91099 deletions
@@ -665,8 +665,16 @@ G4PAIModel::GetPostStepTransfer( G4double scaledTkin )
// G4cout<<position<<"\t" ;
for( iTransfer = 0;
iTransfer < G4int((*fPAItransferTable)(iPlace)->GetVectorLength()); iTransfer++ )
G4int iTrMax1, iTrMax2, iTrMax;
iTrMax1 = G4int((*fPAItransferTable)(iPlace)->GetVectorLength());
iTrMax2 = G4int((*fPAItransferTable)(iPlace+1)->GetVectorLength());
if (iTrMax1 >= iTrMax2) iTrMax = iTrMax2;
else iTrMax = iTrMax1;
for( iTransfer = 0; iTransfer < iTrMax; iTransfer++ )
{
if( position >=
( (*(*fPAItransferTable)(iPlace))(iTransfer)*W1 +
@@ -690,35 +698,36 @@ G4PAIModel::GetPostStepTransfer( G4double scaledTkin )
G4double
G4PAIModel::GetEnergyTransfer( G4int iPlace, G4double position, G4int iTransfer )
{
G4double x1, x2, y1, y2, energyTransfer ;
G4int iTransferMax;
G4double x1, x2, y1, y2, energyTransfer;
if(iTransfer == 0)
{
energyTransfer = (*fPAItransferTable)(iPlace)->GetLowEdgeEnergy(iTransfer) ;
energyTransfer = (*fPAItransferTable)(iPlace)->GetLowEdgeEnergy(iTransfer);
}
else
{
if ( iTransfer >= G4int((*fPAItransferTable)(iPlace)->GetVectorLength()) )
{
iTransfer = (*fPAItransferTable)(iPlace)->GetVectorLength() - 1 ;
}
y1 = (*(*fPAItransferTable)(iPlace))(iTransfer-1) ;
y2 = (*(*fPAItransferTable)(iPlace))(iTransfer) ;
iTransferMax = G4int((*fPAItransferTable)(iPlace)->GetVectorLength());
x1 = (*fPAItransferTable)(iPlace)->GetLowEdgeEnergy(iTransfer-1) ;
x2 = (*fPAItransferTable)(iPlace)->GetLowEdgeEnergy(iTransfer) ;
if ( iTransfer >= iTransferMax ) iTransfer = iTransferMax - 1;
y1 = (*(*fPAItransferTable)(iPlace))(iTransfer-1);
y2 = (*(*fPAItransferTable)(iPlace))(iTransfer);
if ( x1 == x2 ) energyTransfer = x2 ;
x1 = (*fPAItransferTable)(iPlace)->GetLowEdgeEnergy(iTransfer-1);
x2 = (*fPAItransferTable)(iPlace)->GetLowEdgeEnergy(iTransfer);
if ( x1 == x2 ) energyTransfer = x2;
else
{
if ( y1 == y2 ) energyTransfer = x1 + (x2 - x1)*G4UniformRand() ;
if ( y1 == y2 ) energyTransfer = x1 + (x2 - x1)*G4UniformRand();
else
{
energyTransfer = x1 + (position - y1)*(x2 - x1)/(y2 - y1) ;
energyTransfer = x1 + (position - y1)*(x2 - x1)/(y2 - y1);
}
}
}
return energyTransfer ;
return energyTransfer;
}
///////////////////////////////////////////////////////////////////////