Changeset 1055 for trunk/source/processes/hadronic/management/src
- Timestamp:
- May 28, 2009, 4:26:57 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/processes/hadronic/management/src/G4HadronicProcessStore.cc
r1007 r1055 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4HadronicProcessStore.cc,v 1. 7 2008/10/22 07:58:20vnivanch Exp $27 // GEANT4 tag $Name: geant4-09-0 2$26 // $Id: G4HadronicProcessStore.cc,v 1.12 2009/02/25 16:29:03 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-03-beta-cand-01 $ 28 28 // 29 29 // ------------------------------------------------------------------- … … 39 39 // 40 40 // Modifications: 41 // 41 // 23.01.2009 V.Ivanchenko add destruction of processes 42 42 // 43 43 // Class Description: 44 // Singleton to store hadronic processes, to provide access to processes 45 // and to printout information about processes 44 46 // 45 47 // ------------------------------------------------------------------- … … 53 55 #include "G4Electron.hh" 54 56 #include "G4Proton.hh" 57 #include "G4HadronicInteractionRegistry.hh" 58 #include "G4CrossSectionDataSetRegistry.hh" 55 59 56 60 G4HadronicProcessStore* G4HadronicProcessStore::theInstance = 0; … … 71 75 G4HadronicProcessStore::~G4HadronicProcessStore() 72 76 { 73 /* 74 for (G4int i=0; i<n_proc; i++) { 75 if( process[i] ) delete process[i]; 76 } 77 */ 77 Clean(); 78 G4HadronicInteractionRegistry::Instance()->Clean(); 79 G4CrossSectionDataSetRegistry::Instance()->Clean(); 80 } 81 82 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... 83 84 void G4HadronicProcessStore::Clean() 85 { 86 G4int i; 87 //G4cout << "G4HadronicProcessStore::Clean() Nproc= " << n_proc 88 // << " Nextra= " << n_extra << G4endl; 89 if(n_proc > 0) { 90 for (i=0; i<n_proc; i++) { 91 if( process[i] ) { 92 //G4cout << "G4HadronicProcessStore::Clean() delete hadronic " << i << G4endl; 93 //G4cout << process[i]->GetProcessName() << G4endl; 94 delete process[i]; 95 process[i] = 0; 96 } 97 } 98 } 99 if(n_extra > 0) { 100 for(i=0; i<n_extra; i++) { 101 if(extraProcess[i]) { 102 //G4cout << "G4HadronicProcessStore::Clean() delete extra " 103 // << i << G4endl; 104 //G4cout << extraProcess[i]->GetProcessName() << G4endl; 105 delete extraProcess[i]; 106 extraProcess[i] = 0; 107 } 108 } 109 } 110 //G4cout << "G4HadronicProcessStore::Clean() done" << G4endl; 111 n_extra = 0; 112 n_proc = 0; 78 113 } 79 114 … … 325 360 void G4HadronicProcessStore::Register(G4HadronicProcess* proc) 326 361 { 327 for(G4int i=0; i<n_proc; i++) {if(process[i] == proc) return;} 328 362 if(0 < n_proc) { 363 for(G4int i=0; i<n_proc; i++) { 364 if(process[i] == proc) return; 365 } 366 } 367 //G4cout << "G4HadronicProcessStore::Register hadronic " << n_proc 368 // << " " << proc->GetProcessName() << G4endl; 329 369 n_proc++; 330 370 process.push_back(proc); … … 384 424 void G4HadronicProcessStore::DeRegister(G4HadronicProcess* proc) 385 425 { 426 if(0 == n_proc) return; 386 427 for(G4int i=0; i<n_proc; i++) { 387 428 if(process[i] == proc) { 388 429 process[i] = 0; 389 break;430 return; 390 431 } 391 432 } … … 396 437 void G4HadronicProcessStore::RegisterExtraProcess(G4VProcess* proc) 397 438 { 398 for(G4int i=0; i<n_extra; i++) {if(extraProcess[i] == proc) return;} 439 if(0 < n_extra) { 440 for(G4int i=0; i<n_extra; i++) { 441 if(extraProcess[i] == proc) return; 442 } 443 } 444 //G4cout << "Extra Process: " << n_extra << " " << proc->GetProcessName() 445 // << " " << proc << G4endl; 399 446 400 447 n_extra++; … … 437 484 void G4HadronicProcessStore::DeRegisterExtraProcess(G4VProcess* proc) 438 485 { 486 //G4cout << "Deregister Extra Process: " << proc << " " << proc->GetProcessName() << G4endl; 487 if(0 == n_extra) return; 439 488 for(G4int i=0; i<n_extra; i++) { 440 489 if(extraProcess[i] == proc) { 441 490 extraProcess[i] = 0; 442 break; 491 //G4cout << "Extra Process: " << i << " is deregisted " << G4endl; 492 return; 443 493 } 444 494 }
Note: See TracChangeset
for help on using the changeset viewer.