Geant4 Cross Reference |
1 // << 1 #include "G4ParticleTable.hh" 2 // ******************************************* << 3 // * License and Disclaimer << 4 // * << 5 // * The Geant4 software is copyright of th << 6 // * the Geant4 Collaboration. It is provided << 7 // * conditions of the Geant4 Software License << 8 // * LICENSE and available at http://cern.ch/ << 9 // * include a list of copyright holders. << 10 // * << 11 // * Neither the authors of this software syst << 12 // * institutes,nor the agencies providing fin << 13 // * work make any representation or warran << 14 // * regarding this software system or assum << 15 // * use. Please see the license in the file << 16 // * for the full disclaimer and the limitatio << 17 // * << 18 // * This code implementation is the result << 19 // * technical work of the GEANT4 collaboratio << 20 // * By using, copying, modifying or distri << 21 // * any work based on the software) you ag << 22 // * use in resulting scientific publicati << 23 // * acceptance of all terms of the Geant4 Sof << 24 // ******************************************* << 25 // << 26 // G4ProcessTable inline methods implementatio << 27 // << 28 // Author: H.Kurashige, 4 August 1998 << 29 // ------------------------------------------- << 30 2 31 // ------------------------------------------- << 3 ////////////////////////// 32 // << 33 inline 4 inline 34 void G4ProcessTable::SetVerboseLevel(G4int val << 5 G4ProcessTable::G4ProcNameVector* G4ProcessTable::GetNameList() 35 { 6 { 36 verboseLevel = value; << 7 return fProcNameVector; 37 } 8 } 38 9 39 // ------------------------------------------- << 10 ////////////////////////// 40 // << 41 inline 11 inline 42 G4int G4ProcessTable::GetVerboseLevel() const << 12 G4ProcessTable::G4ProcTableVector* G4ProcessTable::GetProcTableVector() 43 { << 44 return verboseLevel; << 45 } << 46 << 47 // ------------------------------------------- << 48 // << 49 inline << 50 G4int G4ProcessTable::Length() const << 51 { << 52 return G4int(fProcTblVector->size()); << 53 } << 54 << 55 // ------------------------------------------- << 56 // << 57 inline << 58 G4ProcessTable::G4ProcNameVector* G4ProcessTab << 59 { << 60 return fProcNameVector; << 61 } << 62 << 63 // ------------------------------------------- << 64 // << 65 inline << 66 G4ProcessTable::G4ProcTableVector* G4ProcessTa << 67 { 13 { 68 return fProcTblVector; 14 return fProcTblVector; 69 } 15 } 70 16 71 // ------------------------------------------- << 72 // << 73 inline << 74 G4VProcess* << 75 G4ProcessTable::FindProcess(const G4String& pr << 76 const G4ParticleDe << 77 { << 78 return (particle) ? << 79 FindProcess(processName, particle->GetProc << 80 } << 81 << 82 // ------------------------------------------- << 83 // << 84 inline << 85 void G4ProcessTable::SetProcessActivation(cons << 86 cons << 87 << 88 { << 89 if ( particle != nullptr ) << 90 { << 91 SetProcessActivation(processName, particle << 92 } << 93 } << 94 << 95 // ------------------------------------------- << 96 // << 97 inline << 98 void G4ProcessTable::SetProcessActivation(G4Pr << 99 cons << 100 << 101 { << 102 if ( particle != nullptr ) << 103 { << 104 SetProcessActivation(processType, particle << 105 } << 106 } << 107 17 108 // ------------------------------------------- << 18 ////////////////////////// 109 // << 110 inline 19 inline 111 G4ProcessVector* G4ProcessTable::FindProcesses << 20 G4VProcess* G4ProcessTable::FindProcess(const G4String& processName, >> 21 const G4ParticleDefinition* particle) >> 22 const 112 { 23 { 113 return ExtractProcesses(fProcTblVector); << 24 if ( particle == 0 ) return 0; >> 25 else return FindProcess(processName, particle->GetProcessManager()); 114 } 26 } 115 27 116 // ------------------------------------------- << 28 ////////////////////////// 117 // << 29 inline 118 inline << 30 G4VProcess* G4ProcessTable::FindProcess(const G4String& processName, 119 G4ProcessVector* << 31 const G4String& particleName) const 120 G4ProcessTable::FindProcesses( const G4Process << 121 { 32 { 122 G4ProcessVector* procList = pManager->GetPro << 33 return FindProcess(processName, 123 return new G4ProcessVector(*procList); << 34 G4ParticleTable::GetParticleTable()->FindParticle(particleName)); 124 } 35 } 125 36 126 // ------------------------------------------- << 37 127 // << 38 ////////////////////////// 128 inline << 39 inline 129 G4ProcessVector* G4ProcessTable::FindProcesses << 40 void G4ProcessTable::SetProcessActivation( 130 { << 41 const G4String& processName, 131 G4ProcTableVector* pTblVector = Find(process << 42 G4ParticleDefinition* particle, 132 return ExtractProcesses(pTblVector); << 43 G4bool fActive) >> 44 { >> 45 if ( particle != 0 ) { >> 46 SetProcessActivation(processName, particle->GetProcessManager(), fActive); >> 47 } >> 48 } >> 49 ////////////////////////// >> 50 inline >> 51 void G4ProcessTable::SetProcessActivation( >> 52 const G4String& processName, >> 53 const G4String& particleName, >> 54 G4bool fActive ) >> 55 { >> 56 if (particleName == "ALL" ) { >> 57 SetProcessActivation( processName , fActive); >> 58 } else { >> 59 SetProcessActivation( >> 60 processName, >> 61 G4ParticleTable::GetParticleTable()->FindParticle(particleName), >> 62 fActive ); >> 63 } 133 } 64 } 134 65 135 // ------------------------------------------- << 66 ////////////////////////// 136 // << 67 inline 137 inline << 68 void G4ProcessTable::SetProcessActivation( 138 G4ProcessVector* G4ProcessTable::FindProcesses << 69 G4ProcessType processType, 139 { << 70 G4ParticleDefinition* particle, 140 G4ProcTableVector* pTblVector = Find(process << 71 G4bool fActive) 141 return ExtractProcesses(pTblVector); << 72 { >> 73 if ( particle != 0 ) { >> 74 SetProcessActivation( processType, particle->GetProcessManager(), fActive); >> 75 } >> 76 } >> 77 >> 78 ////////////////////////// >> 79 inline >> 80 void G4ProcessTable::SetProcessActivation( >> 81 G4ProcessType processType, >> 82 const G4String& particleName , >> 83 G4bool fActive) >> 84 { >> 85 if ((particleName == "ALL" )||(particleName == "all" )) { >> 86 SetProcessActivation( processType, fActive ); >> 87 } else { >> 88 SetProcessActivation( >> 89 processType, >> 90 G4ParticleTable::GetParticleTable()->FindParticle(particleName), >> 91 fActive ); >> 92 } 142 } 93 } >> 94 143 95