Geant4-11
G4ProcessTable.icc
Go to the documentation of this file.
1//
2// ********************************************************************
3// * License and Disclaimer *
4// * *
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. *
10// * *
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. *
17// * *
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// ********************************************************************
25//
26// G4ProcessTable inline methods implementation
27//
28// Author: H.Kurashige, 4 August 1998
29// --------------------------------------------------------------------
30
31// --------------------------------------------------------------------
32//
33inline
34void G4ProcessTable::SetVerboseLevel(G4int value)
35{
36 verboseLevel = value;
37}
38
39// --------------------------------------------------------------------
40//
41inline
42G4int G4ProcessTable::GetVerboseLevel() const
43{
44 return verboseLevel;
45}
46
47// --------------------------------------------------------------------
48//
49inline
50G4int G4ProcessTable::Length() const
51{
52 return G4int(fProcTblVector->size());
53}
54
55// --------------------------------------------------------------------
56//
57inline
58G4ProcessTable::G4ProcNameVector* G4ProcessTable::GetNameList()
59{
60 return fProcNameVector;
61}
62
63// --------------------------------------------------------------------
64//
65inline
66G4ProcessTable::G4ProcTableVector* G4ProcessTable::GetProcTableVector()
67{
68 return fProcTblVector;
69}
70
71// --------------------------------------------------------------------
72//
73inline
74G4VProcess*
75G4ProcessTable::FindProcess(const G4String& processName,
76 const G4ParticleDefinition* particle) const
77{
78 return (particle) ?
79 FindProcess(processName, particle->GetProcessManager()) : nullptr;
80}
81
82// --------------------------------------------------------------------
83//
84inline
85void G4ProcessTable::SetProcessActivation(const G4String& processName,
86 const G4ParticleDefinition* particle,
87 G4bool fActive)
88{
89 if ( particle != nullptr )
90 {
91 SetProcessActivation(processName, particle->GetProcessManager(), fActive);
92 }
93}
94
95// --------------------------------------------------------------------
96//
97inline
98void G4ProcessTable::SetProcessActivation(G4ProcessType processType,
99 const G4ParticleDefinition* particle,
100 G4bool fActive)
101{
102 if ( particle != nullptr )
103 {
104 SetProcessActivation(processType, particle->GetProcessManager(), fActive);
105 }
106}
107
108// --------------------------------------------------------------------
109//
110inline
111G4ProcessVector* G4ProcessTable::FindProcesses()
112{
113 return ExtractProcesses(fProcTblVector);
114}
115
116// --------------------------------------------------------------------
117//
118inline
119G4ProcessVector*
120G4ProcessTable::FindProcesses( const G4ProcessManager* pManager )
121{
122 G4ProcessVector* procList = pManager->GetProcessList();
123 return new G4ProcessVector(*procList);
124}
125
126// --------------------------------------------------------------------
127//
128inline
129G4ProcessVector* G4ProcessTable::FindProcesses( const G4String& processName )
130{
131 G4ProcTableVector* pTblVector = Find(processName);
132 return ExtractProcesses(pTblVector);
133}
134
135// --------------------------------------------------------------------
136//
137inline
138G4ProcessVector* G4ProcessTable::FindProcesses( G4ProcessType processType)
139{
140 G4ProcTableVector* pTblVector = Find(processType);
141 return ExtractProcesses(pTblVector);
142}