#include <G4ITModelManager.hh>
Public Member Functions | |
G4ITModelManager () | |
~G4ITModelManager () | |
void | Initialize () |
G4ITModelManager (const G4ITModelManager &other) | |
G4ITModelManager & | operator= (const G4ITModelManager &rhs) |
void | SetModel (G4VITModel *aModel, G4double startingTime) |
G4VITModel * | GetModel (const G4double globalTime) |
Protected Types | |
typedef std::map< G4double, G4VITModel * > | mapModels |
Protected Attributes | |
mapModels | fModels |
G4bool | fIsInitialized |
Definition at line 50 of file G4ITModelManager.hh.
typedef std::map<G4double , G4VITModel* > G4ITModelManager::mapModels [protected] |
Definition at line 63 of file G4ITModelManager.hh.
G4ITModelManager::G4ITModelManager | ( | ) |
G4ITModelManager::~G4ITModelManager | ( | ) |
G4ITModelManager::G4ITModelManager | ( | const G4ITModelManager & | other | ) |
Definition at line 57 of file G4ITModelManager.cc.
References fIsInitialized, and fModels.
00058 { 00059 mapModels::const_iterator it = right.fModels.begin(); 00060 00061 for ( ; it != right.fModels.end() ; it++) 00062 { 00063 fModels[it->first] = it->second->Clone(); 00064 } 00065 00066 fIsInitialized = right.fIsInitialized; 00067 }
G4VITModel * G4ITModelManager::GetModel | ( | const G4double | globalTime | ) |
Definition at line 103 of file G4ITModelManager.cc.
References FatalErrorInArgument, fModels, G4BestUnit, and G4Exception().
00104 { 00105 if(!fModels.empty()) 00106 { 00107 mapModels::reverse_iterator rit = fModels.rbegin(); 00108 if(rit != fModels.rend()) 00109 { 00110 if(globalTime > rit->first) 00111 { 00112 return rit->second; 00113 } 00114 else 00115 { 00116 mapModels::iterator it = fModels.begin(); 00117 00118 if(globalTime < it->first) 00119 { 00120 G4ExceptionDescription exceptionDescription ; 00121 exceptionDescription << "No model was found at time "; 00122 exceptionDescription << G4BestUnit(globalTime,"Time"); 00123 exceptionDescription << ". The first model is registered at time : "; 00124 exceptionDescription << G4BestUnit(it->first,"Time") << ". "; 00125 G4Exception("G4ITModelManager::GetModel","ITModelManager003", 00126 FatalErrorInArgument,exceptionDescription); 00127 } 00128 00129 it = fModels.lower_bound(globalTime); 00130 00131 if(it != fModels.end()) return it->second; 00132 } 00133 } 00134 } 00135 00136 G4ExceptionDescription exceptionDescription ; 00137 exceptionDescription << "No model was found."; 00138 G4Exception("G4ITModelManager::GetModel","ITModelManager004", 00139 FatalErrorInArgument,exceptionDescription); 00140 return 0; 00141 }
void G4ITModelManager::Initialize | ( | ) |
Definition at line 76 of file G4ITModelManager.cc.
References fModels.
00077 { 00078 mapModels::iterator it = fModels.begin(); 00079 00080 for( ; it != fModels.end() ; it ++) 00081 { 00082 G4VITModel* model = it ->second; 00083 if(model!=0) 00084 { 00085 model->Initialize(); 00086 } 00087 } 00088 }
G4ITModelManager & G4ITModelManager::operator= | ( | const G4ITModelManager & | rhs | ) |
Definition at line 69 of file G4ITModelManager.cc.
00070 { 00071 if (this == &rhs) return *this; // handle self assignment 00072 //assignment operator 00073 return *this; 00074 }
void G4ITModelManager::SetModel | ( | G4VITModel * | aModel, | |
G4double | startingTime | |||
) |
Definition at line 90 of file G4ITModelManager.cc.
References FALSE, FatalErrorInArgument, fIsInitialized, fModels, and G4Exception().
00091 { 00092 assert(fIsInitialized == FALSE); 00093 if(fIsInitialized == true) 00094 { 00095 G4ExceptionDescription exceptionDescription ; 00096 exceptionDescription << "You are trying to insert a new model after initialization of th model manager."; 00097 G4Exception("G4ITModelManager::SetModel","ITModelManager001", 00098 FatalErrorInArgument,exceptionDescription); 00099 } 00100 fModels[startingTime] = aModel; 00101 }
G4bool G4ITModelManager::fIsInitialized [protected] |
Definition at line 65 of file G4ITModelManager.hh.
Referenced by G4ITModelManager(), and SetModel().
mapModels G4ITModelManager::fModels [protected] |
Definition at line 64 of file G4ITModelManager.hh.
Referenced by G4ITModelManager(), GetModel(), Initialize(), SetModel(), and ~G4ITModelManager().