G3MedTable Class Reference

#include <G3MedTable.hh>


Public Member Functions

 G3MedTable ()
virtual ~G3MedTable ()
G3MedTableEntryget (G4int id) const
void put (G4int id, G4Material *material, G4MagneticField *field, G4UserLimits *limits, G4int isvol)
G4int GetSize () const
G3MedTableEntryGetMTE (G4int i) const
void Clear ()


Detailed Description

Definition at line 57 of file G3MedTable.hh.


Constructor & Destructor Documentation

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 }


Member Function Documentation

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

Definition at line 69 of file G3MedTable.cc.

00070 {
00071   return fMedVector->size();
00072 }    

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 }


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:51:23 2013 for Geant4 by  doxygen 1.4.7