#include <G3MedTable.hh>
Public Member Functions | |
G3MedTable () | |
virtual | ~G3MedTable () |
G3MedTableEntry * | get (G4int id) const |
void | put (G4int id, G4Material *material, G4MagneticField *field, G4UserLimits *limits, G4int isvol) |
G4int | GetSize () const |
G3MedTableEntry * | GetMTE (G4int i) const |
void | Clear () |
Definition at line 57 of file G3MedTable.hh.
G3MedTable::G3MedTable | ( | ) |
Definition at line 33 of file G3MedTable.cc.
00034 { 00035 fMedVector = new G3MediumVector(); 00036 }
G3MedTable::~G3MedTable | ( | ) | [virtual] |
Definition at line 38 of file G3MedTable.cc.
References Clear().
00039 { 00040 Clear(); 00041 delete fMedVector; 00042 }
void G3MedTable::Clear | ( | ) |
Definition at line 74 of file G3MedTable.cc.
Referenced by ~G3MedTable().
00075 { 00076 G3MedTableEntry* a; 00077 while (fMedVector->size()>0) { 00078 a = fMedVector->back(); 00079 fMedVector->pop_back(); 00080 for (G3MediumVector::iterator i=fMedVector->begin(); 00081 i!=fMedVector->end();){ 00082 if (*i==a) { 00083 i = fMedVector->erase(i); 00084 } 00085 else { 00086 ++i; 00087 } 00088 } 00089 if ( a ) delete a; 00090 } 00091 }
G3MedTableEntry * G3MedTable::get | ( | G4int | id | ) | const |
Definition at line 44 of file G3MedTable.cc.
Referenced by G3toG4BuildLVTree().
00045 { 00046 for (size_t i=0; i< fMedVector->size(); i++) { 00047 G3MedTableEntry* mte = (*fMedVector)[i]; 00048 if (id == mte->GetID()) return mte; 00049 } 00050 return 0; 00051 }
G3MedTableEntry * G3MedTable::GetMTE | ( | G4int | i | ) | const |
Definition at line 61 of file G3MedTable.cc.
00062 { 00063 if (i<0 || i>= G4int(fMedVector->size())) 00064 return 0; 00065 00066 return (*fMedVector)[i]; 00067 }
G4int G3MedTable::GetSize | ( | ) | const |
void G3MedTable::put | ( | G4int | id, | |
G4Material * | material, | |||
G4MagneticField * | field, | |||
G4UserLimits * | limits, | |||
G4int | isvol | |||
) |
Definition at line 53 of file G3MedTable.cc.
Referenced by G4gstmed().
00055 { 00056 G3MedTableEntry* mte 00057 = new G3MedTableEntry(id, material, field, limits, isvol); 00058 fMedVector->push_back(mte); 00059 }