2 // ********************************************************************
 
    3 // * License and Disclaimer                                           *
 
    5 // * The  Geant4 software  is  copyright of the Copyright Holders  of *
 
    6 // * the Geant4 Collaboration.  It is provided  under  the terms  and *
 
    7 // * conditions of the Geant4 Software License,  included in the file *
 
    8 // * LICENSE and available at  http://cern.ch/geant4/license .  These *
 
    9 // * include a list of copyright holders.                             *
 
   11 // * Neither the authors of this software system, nor their employing *
 
   12 // * institutes,nor the agencies providing financial support for this *
 
   13 // * work  make  any representation or  warranty, express or implied, *
 
   14 // * regarding  this  software system or assume any liability for its *
 
   15 // * use.  Please see the license in the file  LICENSE  and URL above *
 
   16 // * for the full disclaimer and the limitation of liability.         *
 
   18 // * This  code  implementation is the result of  the  scientific and *
 
   19 // * technical work of the GEANT4 collaboration.                      *
 
   20 // * By using,  copying,  modifying or  distributing the software (or *
 
   21 // * any work based  on the software)  you  agree  to acknowledge its *
 
   22 // * use  in  resulting  scientific  publications,  and indicate your *
 
   23 // * acceptance of all terms of the Geant4 Software license.          *
 
   24 // ********************************************************************
 
   27 // $Id: G4ProcessTable.icc 71231 2013-06-12 13:06:28Z gcosmo $
 
   30 //   Use STL vector instead of RW vector    1. Mar 00 H.Kurashige
 
   32 #include "G4ParticleTable.hh"
 
   34 //////////////////////////
 
   36  void  G4ProcessTable::SetVerboseLevel(G4int value)
 
   41 //////////////////////////
 
   43  G4int G4ProcessTable::GetVerboseLevel() const
 
   48 //////////////////////////
 
   50  G4int  G4ProcessTable::Length() const
 
   52   return fProcTblVector->size();
 
   55 //////////////////////////
 
   57  G4ProcessTable::G4ProcNameVector*  G4ProcessTable::GetNameList()
 
   59    return  fProcNameVector;
 
   62 //////////////////////////
 
   64  G4ProcessTable::G4ProcTableVector* G4ProcessTable::GetProcTableVector() 
 
   66   return fProcTblVector; 
 
   70 //////////////////////////
 
   72  G4VProcess* G4ProcessTable::FindProcess(const G4String& processName, 
 
   73                                     const G4ParticleDefinition* particle)
 
   76   if ( particle == 0 ) return 0; 
 
   77   else return FindProcess(processName, particle->GetProcessManager());
 
   80 //////////////////////////
 
   82  G4VProcess* G4ProcessTable::FindProcess(const G4String& processName, 
 
   83                                     const G4String& particleName) const
 
   85   return FindProcess(processName,
 
   86      G4ParticleTable::GetParticleTable()->FindParticle(particleName));
 
   90 //////////////////////////
 
   92  void G4ProcessTable::SetProcessActivation(
 
   93                            const G4String&       processName,      
 
   94                            G4ParticleDefinition* particle, 
 
   97   if ( particle != 0 ) { 
 
   98     SetProcessActivation(processName, particle->GetProcessManager(), fActive);     
 
  101 //////////////////////////
 
  103  void  G4ProcessTable::SetProcessActivation( 
 
  104                            const G4String& processName, 
 
  105                            const G4String& particleName, 
 
  108   if (particleName == "ALL" ) {
 
  109     SetProcessActivation( processName , fActive); 
 
  111     SetProcessActivation(
 
  113    G4ParticleTable::GetParticleTable()->FindParticle(particleName),
 
  118 //////////////////////////
 
  120  void G4ProcessTable::SetProcessActivation(  
 
  121                            G4ProcessType   processType,
 
  122                            G4ParticleDefinition* particle, 
 
  125   if ( particle != 0 ) { 
 
  126     SetProcessActivation( processType, particle->GetProcessManager(), fActive);    
 
  130 //////////////////////////
 
  132  void  G4ProcessTable::SetProcessActivation( 
 
  133                            G4ProcessType   processType,
 
  134                            const G4String& particleName , 
 
  137   if ((particleName == "ALL" )||(particleName == "all" )) {
 
  138     SetProcessActivation( processType, fActive ); 
 
  140     SetProcessActivation( 
 
  142    G4ParticleTable::GetParticleTable()->FindParticle(particleName),