44 #ifndef CEXMC_PHYSICS_LIST_HH 
   45 #define CEXMC_PHYSICS_LIST_HH 
   60 template  < 
typename  BasePhysics, 
template  < 
typename > 
class  StudiedPhysics,
 
   61             typename  ProductionModel >
 
   81         StudiedPhysics< ProductionModel > *  studiedPhysics;
 
   89 template  < 
typename  BasePhysics, 
template  < 
typename > 
class  StudiedPhysics,
 
   90             typename  ProductionModel >
 
   94     studiedPhysics = 
new StudiedPhysics< ProductionModel >( this );
 
   95     this->RegisterPhysics( studiedPhysics );
 
   99 template  < 
typename  BasePhysics, 
template  < 
typename > 
class  StudiedPhysics,
 
  100             typename  ProductionModel >
 
  105     return studiedPhysics->GetProductionModel();
 
  109 template  < 
typename  BasePhysics, 
template  < 
typename > 
class  StudiedPhysics,
 
  110             typename  ProductionModel >
 
  114     return numberOfTriggeredStudiedInteractions == 0;
 
  118 template  < 
typename  BasePhysics, 
template  < 
typename > 
class  StudiedPhysics,
 
  119             typename  ProductionModel >
 
  130                 static_cast< CexmcIncidentParticleTrackInfo * >(
 
  141         position = targetTransform.TransformPoint( stepPoint->
GetPosition() );
 
  142         direction = targetTransform.TransformAxis(
 
  147         position = targetTransform.TransformPoint( track->
GetPosition() );
 
  148         direction = targetTransform.TransformAxis(
 
  152     G4double  distanceInTarget( targetSolid->DistanceToOut( position,
 
  156                                 std::max( distanceInTarget, proposedMaxIL ) );
 
  161 template  < 
typename  BasePhysics, 
template  < 
typename > 
class  StudiedPhysics,
 
  162             typename  ProductionModel >
 
  169                             targetTransform.TransformAxis( direction ) ) * 2;
 
  173 template  < 
typename  BasePhysics, 
template  < 
typename > 
class  StudiedPhysics,
 
  174             typename  ProductionModel >