Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
G4DimensionedTypeUtils Namespace Reference

Classes

class  HasName
 

Functions

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

Function Documentation

◆ GetUnitValue()

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

Definition at line 48 of file G4DimensionedTypeUtils.cc.

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 }
bool G4bool
Definition: G4Types.hh:67
std::vector< G4UnitsCategory * > G4UnitsTable
Definition: G4UnitsTable.hh:60
std::vector< G4UnitDefinition * > G4UnitsContainer
static void BuildUnitsTable()
static G4UnitsTable & GetUnitsTable()

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