Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Data Structures | Functions
G4DimensionedTypeUtils Namespace Reference

Data Structures

class  HasName
 

Functions

G4bool GetUnitValue (const G4String &unit, G4double &value)
 

Function Documentation

G4bool G4DimensionedTypeUtils::GetUnitValue ( const G4String unit,
G4double value 
)

Definition at line 48 of file G4DimensionedTypeUtils.cc.

References G4UnitDefinition::BuildUnitsTable(), and G4UnitDefinition::GetUnitsTable().

Referenced by G4DimensionedType< T, ConversionErrorPolicy >::G4DimensionedType().

49  {
50  // Get units table
52  if (unitTable.size() == 0) G4UnitDefinition::BuildUnitsTable();
53 
54  // Iterate over unit lists, searching for unit match
55  G4UnitsTable::const_iterator iterTable = unitTable.begin();
56 
57  HasName myUnit(unit);
58  G4bool gotUnit(false);
59 
60  while (!gotUnit && (iterTable != unitTable.end())) {
61  G4UnitsContainer unitContainer = (*iterTable)->GetUnitsList();
62 
63  G4UnitsContainer::const_iterator iterUnits =
64  std::find_if(unitContainer.begin(), unitContainer.end(), myUnit);
65 
66  if (iterUnits != unitContainer.end()) {
67  value = (*iterUnits)->GetValue();
68  gotUnit = true;
69  }
70 
71  iterTable++;
72  }
73 
74  return gotUnit;
75  }
static void BuildUnitsTable()
std::vector< G4UnitsCategory * > G4UnitsTable
Definition: G4UnitsTable.hh:59
bool G4bool
Definition: G4Types.hh:79
static G4UnitsTable & GetUnitsTable()
const XML_Char int const XML_Char * value
std::vector< G4UnitDefinition * > G4UnitsContainer