Geant4 Cross Reference |
1 // << 1 ////////////////////////// 2 // ******************************************* << 2 inline 3 // * License and Disclaimer << 3 G4bool G4ProcTblElement::Contains(const G4ProcessManager* pManager) const 4 // * << 4 { 5 // * The Geant4 software is copyright of th << 5 return pProcMgrVector->contains(pManager); 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 // G4ProcTblElement inline methods implementat << 27 // << 28 // Author: H.Kurashige, 04.08.1998 << 29 // ------------------------------------------- << 30 << 31 inline << 32 G4bool G4ProcTblElement::Contains(const G4Proc << 33 { << 34 for (auto i = pProcMgrVector->cbegin(); i!= << 35 { << 36 if (*i==pManager) return true; << 37 } << 38 return false; << 39 } 6 } 40 7 41 // ------------------------------------------- << 8 ////////////////////////// 42 inline 9 inline 43 G4int G4ProcTblElement::GetIndex(const G4Proce << 10 G4int G4ProcTblElement::GetIndex(const G4ProcessManager* pManager) const 44 { 11 { 45 G4int index = 0; << 12 if ( Contains(pManager) ) return pProcMgrVector->index(pManager); 46 for (auto i = pProcMgrVector->cbegin(); i!= << 13 else return -1; 47 { << 48 if (*i==pManager) return index; << 49 index +=1; << 50 } << 51 return -1; << 52 } 14 } 53 15 54 // ------------------------------------------- << 16 >> 17 ////////////////////////// 55 inline 18 inline 56 G4int G4ProcTblElement::Length() const << 19 G4int G4ProcTblElement::Length() const 57 { 20 { 58 return G4int(pProcMgrVector->size()); << 21 if (pProcMgrVector != 0) return pProcMgrVector->length(); >> 22 else return -1; 59 } 23 } 60 24 61 // ------------------------------------------- << 25 ////////////////////////// 62 inline 26 inline 63 G4ProcessManager* G4ProcTblElement::GetProcess << 27 G4ProcessManager* G4ProcTblElement::GetProcessManager(G4int index) const 64 { 28 { 65 if ((index < G4int(pProcMgrVector->size())) << 29 if (pProcMgrVector != 0) { 66 { << 30 if ((index < pProcMgrVector->length()) && (index>=0)){ 67 return (*pProcMgrVector)[index]; << 31 return (*pProcMgrVector)(index); 68 } << 32 } else { 69 else << 33 return 0; 70 { << 34 } 71 return nullptr; << 35 } else { >> 36 return 0; 72 } 37 } 73 } 38 } 74 39 75 // ------------------------------------------- << 40 >> 41 ////////////////////////// 76 inline 42 inline 77 G4VProcess* G4ProcTblElement::GetProcess() con << 43 G4VProcess* G4ProcTblElement::GetProcess() const 78 { 44 { 79 return pProcess; 45 return pProcess; 80 } 46 } 81 47 82 // ------------------------------------------- << 48 >> 49 ////////////////////////// 83 inline 50 inline 84 void G4ProcTblElement::Insert(G4ProcessManage << 51 void G4ProcTblElement::Insert(G4ProcessManager* aProcMgr) 85 { 52 { 86 pProcMgrVector->push_back(aProcMgr); << 53 if (pProcMgrVector != 0) pProcMgrVector->insert(aProcMgr); 87 } 54 } 88 55 89 // ------------------------------------------- << 56 ////////////////////////// 90 inline 57 inline 91 void G4ProcTblElement::Remove(G4ProcessManager << 58 void G4ProcTblElement::Remove(G4ProcessManager* aProcMgr) 92 { 59 { 93 for (auto i = pProcMgrVector->cbegin(); i!= << 60 if (pProcMgrVector != 0) pProcMgrVector->remove(aProcMgr); 94 { << 95 if (*i==aProcMgr) << 96 { << 97 pProcMgrVector->erase(i); << 98 break; << 99 } << 100 } << 101 } 61 } 102 62 103 // ------------------------------------------- << 63 ////////////////////////// 104 inline 64 inline 105 const G4String& G4ProcTblElement::GetProcessNa << 65 const G4String& G4ProcTblElement::GetProcessName() const 106 { 66 { 107 return pProcess->GetProcessName(); 67 return pProcess->GetProcessName(); 108 } << 109 << 110 // ------------------------------------------- << 111 inline const std::vector<G4ProcessManager*>* << 112 G4ProcTblElement::GetProcMgrVector() const << 113 { << 114 return pProcMgrVector; << 115 } 68 } 116 69