File indexing completed on 2025-01-18 09:58:58
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 }