File indexing completed on 2025-11-04 10:13:15
0001 
0002 
0003 
0004 
0005 
0006 
0007 
0008 
0009 
0010 
0011 
0012 
0013 
0014 
0015 
0016 
0017 
0018 
0019 
0020 
0021 
0022 
0023 
0024 
0025 
0026 
0027 
0028 
0029 
0030 
0031 inline  
0032 void G4ProcessManager::SetParticleType(const G4ParticleDefinition* aParticle)
0033 {
0034   theParticleType = aParticle;
0035 }
0036 
0037 inline 
0038 G4ProcessVector* G4ProcessManager::GetProcessList() const
0039 {
0040   return theProcessList;
0041 }
0042 
0043 inline
0044 G4int G4ProcessManager::GetProcessListLength() const
0045 {
0046   return numberOfProcesses;
0047 }
0048 
0049 inline 
0050 G4int G4ProcessManager::GetProcessIndex(G4VProcess* aProcess) const
0051 {
0052   G4int idx = G4int(theProcessList->index(aProcess));
0053   if (idx>=numberOfProcesses) idx = -1;
0054   return idx;
0055 }
0056 
0057 inline 
0058 G4int G4ProcessManager::GetProcessVectorId(G4ProcessVectorDoItIndex idx,
0059                                            G4ProcessVectorTypeIndex typ) const
0060 {
0061   if ( idx == idxAtRest )
0062   {
0063     if (typ == typeGPIL) { return 0; }
0064     else                 { return 1; }
0065   }
0066   else if ( idx == idxAlongStep )
0067   {
0068     if (typ == typeGPIL) { return 2; }
0069     else                 { return 3; }
0070   }
0071   else if ( idx == idxPostStep )
0072   {
0073     if (typ == typeGPIL) { return 4; }
0074     else                 { return 5; }
0075   }
0076   else
0077   {
0078     return -1;
0079   }
0080 }
0081  
0082 inline  
0083 G4ProcessVector* G4ProcessManager::GetProcessVector(
0084                                        G4ProcessVectorDoItIndex idx,  
0085                                        G4ProcessVectorTypeIndex typ
0086                                       ) const
0087 {
0088   G4int ivec = GetProcessVectorId(idx, typ);
0089   if ( ivec >=0 )
0090   {
0091     return theProcVector[ivec];
0092   }
0093   else
0094   {
0095     return nullptr;
0096   }
0097 }
0098 
0099 inline 
0100 G4ProcessVector*
0101 G4ProcessManager::GetAtRestProcessVector(G4ProcessVectorTypeIndex typ) const
0102 {
0103   if (typ == typeGPIL) { return theProcVector[0]; }
0104   else                 { return theProcVector[1]; }
0105 }
0106 
0107 inline 
0108 G4ProcessVector*
0109 G4ProcessManager::GetAlongStepProcessVector(G4ProcessVectorTypeIndex typ) const
0110 {
0111   if (typ == typeGPIL) { return theProcVector[2]; }
0112   else                 { return theProcVector[3]; }
0113 }
0114 
0115 inline 
0116 G4ProcessVector*
0117 G4ProcessManager::GetPostStepProcessVector(G4ProcessVectorTypeIndex typ) const
0118 {
0119   if (typ == typeGPIL) { return theProcVector[4]; }
0120   else                 { return theProcVector[5]; }
0121 }
0122 
0123 inline
0124 G4int G4ProcessManager::GetAtRestIndex(
0125                           G4VProcess* aProcess,
0126                           G4ProcessVectorTypeIndex typ 
0127                           ) const
0128 {
0129   return GetProcessVectorIndex(aProcess, idxAtRest, typ);
0130 }
0131 
0132 inline 
0133 G4int G4ProcessManager::GetAlongStepIndex(
0134                           G4VProcess* aProcess,
0135                           G4ProcessVectorTypeIndex typ 
0136                           ) const
0137 {
0138   return GetProcessVectorIndex(aProcess, idxAlongStep, typ);
0139 }
0140 
0141 inline
0142 G4int G4ProcessManager::GetPostStepIndex(
0143                           G4VProcess* aProcess,
0144                           G4ProcessVectorTypeIndex typ 
0145                         ) const
0146 {
0147   return GetProcessVectorIndex(aProcess, idxPostStep, typ);
0148 }
0149 
0150 inline 
0151 G4int G4ProcessManager::AddRestProcess(G4VProcess* aProcess, G4int ord)
0152 {
0153   return AddProcess(aProcess, ord, ordInActive, ordInActive);
0154 }
0155 
0156 inline 
0157 G4int G4ProcessManager::AddContinuousProcess(G4VProcess* aProcess, G4int ord)
0158 {
0159   return AddProcess(aProcess, ordInActive, ord, ordInActive);
0160 }
0161 
0162 inline 
0163 G4int G4ProcessManager::AddDiscreteProcess(G4VProcess* aProcess, G4int ord)
0164 {
0165   return AddProcess(aProcess, ordInActive, ordInActive, ord);
0166 }
0167 
0168 inline 
0169 G4ParticleDefinition* G4ProcessManager::GetParticleType() const
0170 { 
0171   return (G4ParticleDefinition*)theParticleType; 
0172 }
0173 
0174 inline 
0175 void G4ProcessManager::SetVerboseLevel(G4int value)
0176 {
0177   verboseLevel = value;
0178 }
0179 
0180 inline  
0181 G4int G4ProcessManager::GetVerboseLevel() const
0182 {
0183   return verboseLevel;
0184 }