Warning, file /include/Geant4/G4VChemistryWorld.hh was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028 #ifndef G4VCHEMISTRYWORLD_HH
0029 #define G4VCHEMISTRYWORLD_HH
0030
0031 #include <memory>
0032 #include <map>
0033 class G4DNABoundingBox;
0034 class G4Material;
0035 class G4MolecularConfiguration;
0036 class G4VChemistryWorld
0037 {
0038 public:
0039 using MolType = const G4MolecularConfiguration*;
0040 G4VChemistryWorld() = default;
0041 virtual ~G4VChemistryWorld() = default;
0042
0043 virtual void ConstructChemistryBoundary() = 0;
0044 virtual void ConstructChemistryComponents() = 0;
0045
0046 std::map<MolType,double>::iterator begin()
0047 {
0048 return fpChemicalComponent.begin();
0049 }
0050
0051 std::map<MolType,double>::iterator end()
0052 {
0053 return fpChemicalComponent.end();
0054 }
0055
0056 size_t size()
0057 {
0058 return fpChemicalComponent.size();
0059 }
0060
0061 std::map<MolType,double>::const_iterator begin_const()
0062 {
0063 return fpChemicalComponent.begin();
0064 }
0065
0066 std::map<MolType,double>::const_iterator end_const()
0067 {
0068 return fpChemicalComponent.end();
0069 }
0070
0071 G4DNABoundingBox* GetChemistryBoundary() const
0072 {
0073 return fpChemistryBoundary.get();
0074 }
0075 protected:
0076 std::unique_ptr<G4DNABoundingBox> fpChemistryBoundary;
0077 std::map<MolType,double> fpChemicalComponent;
0078 };
0079
0080 #endif