Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/processes/management/include/G4ProcessManager.icc

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

Diff markup

Differences between /processes/management/include/G4ProcessManager.icc (Version 11.3.0) and /processes/management/include/G4ProcessManager.icc (Version 10.7.p4)


  1 //                                                  1 //
  2 // *******************************************      2 // ********************************************************************
  3 // * License and Disclaimer                         3 // * License and Disclaimer                                           *
  4 // *                                                4 // *                                                                  *
  5 // * The  Geant4 software  is  copyright of th      5 // * The  Geant4 software  is  copyright of the Copyright Holders  of *
  6 // * the Geant4 Collaboration.  It is provided      6 // * the Geant4 Collaboration.  It is provided  under  the terms  and *
  7 // * conditions of the Geant4 Software License      7 // * conditions of the Geant4 Software License,  included in the file *
  8 // * LICENSE and available at  http://cern.ch/      8 // * LICENSE and available at  http://cern.ch/geant4/license .  These *
  9 // * include a list of copyright holders.           9 // * include a list of copyright holders.                             *
 10 // *                                               10 // *                                                                  *
 11 // * Neither the authors of this software syst     11 // * Neither the authors of this software system, nor their employing *
 12 // * institutes,nor the agencies providing fin     12 // * institutes,nor the agencies providing financial support for this *
 13 // * work  make  any representation or  warran     13 // * work  make  any representation or  warranty, express or implied, *
 14 // * regarding  this  software system or assum     14 // * regarding  this  software system or assume any liability for its *
 15 // * use.  Please see the license in the file      15 // * use.  Please see the license in the file  LICENSE  and URL above *
 16 // * for the full disclaimer and the limitatio     16 // * for the full disclaimer and the limitation of liability.         *
 17 // *                                               17 // *                                                                  *
 18 // * This  code  implementation is the result      18 // * This  code  implementation is the result of  the  scientific and *
 19 // * technical work of the GEANT4 collaboratio     19 // * technical work of the GEANT4 collaboration.                      *
 20 // * By using,  copying,  modifying or  distri     20 // * By using,  copying,  modifying or  distributing the software (or *
 21 // * any work based  on the software)  you  ag     21 // * any work based  on the software)  you  agree  to acknowledge its *
 22 // * use  in  resulting  scientific  publicati     22 // * use  in  resulting  scientific  publications,  and indicate your *
 23 // * acceptance of all terms of the Geant4 Sof     23 // * acceptance of all terms of the Geant4 Software license.          *
 24 // *******************************************     24 // ********************************************************************
 25 //                                                 25 //
 26 // G4ProcessManager inline function members im     26 // G4ProcessManager inline function members implementation
 27 //                                                 27 //
 28 // - 02.12.1995, G.Cosmo - First implementatio     28 // - 02.12.1995, G.Cosmo - First implementation, based on object model
 29 // -------------------------------------------     29 // --------------------------------------------------------------------
 30                                                    30 
 31 inline                                             31 inline  
 32 void G4ProcessManager::SetParticleType(const G     32 void G4ProcessManager::SetParticleType(const G4ParticleDefinition* aParticle)
 33 {                                                  33 {
 34   theParticleType = aParticle;                     34   theParticleType = aParticle;
 35 }                                                  35 }
 36                                                    36 
 37 inline                                             37 inline 
 38 G4ProcessVector* G4ProcessManager::GetProcessL     38 G4ProcessVector* G4ProcessManager::GetProcessList() const
 39 {                                                  39 {
 40   return theProcessList;                           40   return theProcessList;
 41 }                                                  41 }
 42                                                    42 
 43 inline                                             43 inline
 44 G4int G4ProcessManager::GetProcessListLength()     44 G4int G4ProcessManager::GetProcessListLength() const
 45 {                                                  45 {
 46   return numberOfProcesses;                        46   return numberOfProcesses;
 47 }                                                  47 }
 48                                                    48 
 49 inline                                             49 inline 
 50 G4int G4ProcessManager::GetProcessIndex(G4VPro     50 G4int G4ProcessManager::GetProcessIndex(G4VProcess* aProcess) const
 51 {                                                  51 {
 52   G4int idx = G4int(theProcessList->index(aPro     52   G4int idx = G4int(theProcessList->index(aProcess));
 53   if (idx>=numberOfProcesses) idx = -1;            53   if (idx>=numberOfProcesses) idx = -1;
 54   return idx;                                      54   return idx;
 55 }                                                  55 }
 56                                                    56 
 57 inline                                             57 inline 
 58 G4int G4ProcessManager::GetProcessVectorId(G4P     58 G4int G4ProcessManager::GetProcessVectorId(G4ProcessVectorDoItIndex idx,
 59                                            G4P     59                                            G4ProcessVectorTypeIndex typ) const
 60 {                                                  60 {
 61   if ( idx == idxAtRest )                          61   if ( idx == idxAtRest )
 62   {                                                62   {
 63     if (typ == typeGPIL) { return 0; }             63     if (typ == typeGPIL) { return 0; }
 64     else                 { return 1; }             64     else                 { return 1; }
 65   }                                                65   }
 66   else if ( idx == idxAlongStep )                  66   else if ( idx == idxAlongStep )
 67   {                                                67   {
 68     if (typ == typeGPIL) { return 2; }             68     if (typ == typeGPIL) { return 2; }
 69     else                 { return 3; }             69     else                 { return 3; }
 70   }                                                70   }
 71   else if ( idx == idxPostStep )                   71   else if ( idx == idxPostStep )
 72   {                                                72   {
 73     if (typ == typeGPIL) { return 4; }             73     if (typ == typeGPIL) { return 4; }
 74     else                 { return 5; }             74     else                 { return 5; }
 75   }                                                75   }
 76   else                                             76   else
 77   {                                                77   {
 78     return -1;                                     78     return -1;
 79   }                                                79   }
 80 }                                                  80 }
 81                                                    81  
 82 inline                                             82 inline  
 83 G4ProcessVector* G4ProcessManager::GetProcessV     83 G4ProcessVector* G4ProcessManager::GetProcessVector(
 84                                        G4Proce     84                                        G4ProcessVectorDoItIndex idx,  
 85                                        G4Proce     85                                        G4ProcessVectorTypeIndex typ
 86                                       ) const      86                                       ) const
 87 {                                                  87 {
 88   G4int ivec = GetProcessVectorId(idx, typ);       88   G4int ivec = GetProcessVectorId(idx, typ);
 89   if ( ivec >=0 )                                  89   if ( ivec >=0 )
 90   {                                                90   {
 91     return theProcVector[ivec];                    91     return theProcVector[ivec];
 92   }                                                92   }
 93   else                                             93   else
 94   {                                                94   {
 95     return nullptr;                                95     return nullptr;
 96   }                                                96   }
 97 }                                                  97 }
 98                                                    98 
 99 inline                                             99 inline 
100 G4ProcessVector*                                  100 G4ProcessVector*
101 G4ProcessManager::GetAtRestProcessVector(G4Pro    101 G4ProcessManager::GetAtRestProcessVector(G4ProcessVectorTypeIndex typ) const
102 {                                                 102 {
103   if (typ == typeGPIL) { return theProcVector[    103   if (typ == typeGPIL) { return theProcVector[0]; }
104   else                 { return theProcVector[    104   else                 { return theProcVector[1]; }
105 }                                                 105 }
106                                                   106 
107 inline                                            107 inline 
108 G4ProcessVector*                                  108 G4ProcessVector*
109 G4ProcessManager::GetAlongStepProcessVector(G4    109 G4ProcessManager::GetAlongStepProcessVector(G4ProcessVectorTypeIndex typ) const
110 {                                                 110 {
111   if (typ == typeGPIL) { return theProcVector[    111   if (typ == typeGPIL) { return theProcVector[2]; }
112   else                 { return theProcVector[    112   else                 { return theProcVector[3]; }
113 }                                                 113 }
114                                                   114 
115 inline                                            115 inline 
116 G4ProcessVector*                                  116 G4ProcessVector*
117 G4ProcessManager::GetPostStepProcessVector(G4P    117 G4ProcessManager::GetPostStepProcessVector(G4ProcessVectorTypeIndex typ) const
118 {                                                 118 {
119   if (typ == typeGPIL) { return theProcVector[    119   if (typ == typeGPIL) { return theProcVector[4]; }
120   else                 { return theProcVector[    120   else                 { return theProcVector[5]; }
121 }                                                 121 }
122                                                   122 
123 inline                                            123 inline
124 G4int G4ProcessManager::GetAtRestIndex(           124 G4int G4ProcessManager::GetAtRestIndex(
125                           G4VProcess* aProcess    125                           G4VProcess* aProcess,
126                           G4ProcessVectorTypeI    126                           G4ProcessVectorTypeIndex typ 
127                           ) const                 127                           ) const
128 {                                                 128 {
129   return GetProcessVectorIndex(aProcess, idxAt    129   return GetProcessVectorIndex(aProcess, idxAtRest, typ);
130 }                                                 130 }
131                                                   131 
132 inline                                            132 inline 
133 G4int G4ProcessManager::GetAlongStepIndex(        133 G4int G4ProcessManager::GetAlongStepIndex(
134                           G4VProcess* aProcess    134                           G4VProcess* aProcess,
135                           G4ProcessVectorTypeI    135                           G4ProcessVectorTypeIndex typ 
136                           ) const                 136                           ) const
137 {                                                 137 {
138   return GetProcessVectorIndex(aProcess, idxAl    138   return GetProcessVectorIndex(aProcess, idxAlongStep, typ);
139 }                                                 139 }
140                                                   140 
141 inline                                            141 inline
142 G4int G4ProcessManager::GetPostStepIndex(         142 G4int G4ProcessManager::GetPostStepIndex(
143                           G4VProcess* aProcess    143                           G4VProcess* aProcess,
144                           G4ProcessVectorTypeI    144                           G4ProcessVectorTypeIndex typ 
145                         ) const                   145                         ) const
146 {                                                 146 {
147   return GetProcessVectorIndex(aProcess, idxPo    147   return GetProcessVectorIndex(aProcess, idxPostStep, typ);
148 }                                                 148 }
149                                                   149 
150 inline                                            150 inline 
151 G4int G4ProcessManager::AddRestProcess(G4VProc    151 G4int G4ProcessManager::AddRestProcess(G4VProcess* aProcess, G4int ord)
152 {                                                 152 {
153   return AddProcess(aProcess, ord, ordInActive    153   return AddProcess(aProcess, ord, ordInActive, ordInActive);
154 }                                                 154 }
155                                                   155 
156 inline                                            156 inline 
157 G4int G4ProcessManager::AddContinuousProcess(G    157 G4int G4ProcessManager::AddContinuousProcess(G4VProcess* aProcess, G4int ord)
158 {                                                 158 {
159   return AddProcess(aProcess, ordInActive, ord    159   return AddProcess(aProcess, ordInActive, ord, ordInActive);
160 }                                                 160 }
161                                                   161 
162 inline                                            162 inline 
163 G4int G4ProcessManager::AddDiscreteProcess(G4V    163 G4int G4ProcessManager::AddDiscreteProcess(G4VProcess* aProcess, G4int ord)
164 {                                                 164 {
165   return AddProcess(aProcess, ordInActive, ord    165   return AddProcess(aProcess, ordInActive, ordInActive, ord);
166 }                                                 166 }
167                                                   167 
168 inline                                            168 inline 
169 G4ParticleDefinition* G4ProcessManager::GetPar    169 G4ParticleDefinition* G4ProcessManager::GetParticleType() const
170 {                                                 170 { 
171   return (G4ParticleDefinition*)theParticleTyp    171   return (G4ParticleDefinition*)theParticleType; 
172 }                                                 172 }
173                                                   173 
174 inline                                            174 inline 
175 void G4ProcessManager::SetVerboseLevel(G4int v    175 void G4ProcessManager::SetVerboseLevel(G4int value)
176 {                                                 176 {
177   verboseLevel = value;                           177   verboseLevel = value;
178 }                                                 178 }
179                                                   179 
180 inline                                            180 inline  
181 G4int G4ProcessManager::GetVerboseLevel() cons    181 G4int G4ProcessManager::GetVerboseLevel() const
182 {                                                 182 {
183   return verboseLevel;                            183   return verboseLevel;
184 }                                                 184 }
185                                                   185