VGM Version 5.3
Loading...
Searching...
No Matches
IsotopeMap.h
Go to the documentation of this file.
1// $Id$
2
3// -----------------------------------------------------------------------
4// The Geant4GM package of the Virtual Geometry Model
5// Copyright (C) 2007, Ivana Hrivnacova
6// All rights reserved.
7//
8// For the licensing terms see vgm/LICENSE.
9// Contact: ivana@ipno.in2p3.fr
10// -----------------------------------------------------------------------
11
13//
19
20#ifndef GEANT4_GM_ISOTOPE_MAP_H
21#define GEANT4_GM_ISOTOPE_MAP_H
22
23#include <map>
24
25class G4Isotope;
26
27namespace VGM {
28class IIsotope;
29}
30
31namespace Geant4GM {
32
33class IsotopeMap;
34
36{
37 public:
38 typedef std::map<VGM::IIsotope*, G4Isotope*> G4IsotopeMap;
39 typedef G4IsotopeMap::const_iterator G4IsotopeMapCIterator;
40
41 typedef std::map<G4Isotope*, VGM::IIsotope*> VgmIsotopeMap;
42 typedef VgmIsotopeMap::const_iterator VgmIsotopeMapCIterator;
43
44 public:
45 IsotopeMap();
46 virtual ~IsotopeMap();
47
48 // static access methods
49 static IsotopeMap* Instance();
50
51 // methods
52 void AddIsotope(VGM::IIsotope*, G4Isotope*);
53 void Print() const;
54
55 // get methods
56 G4Isotope* GetIsotope(VGM::IIsotope* iIsotope) const;
57 VGM::IIsotope* GetIsotope(G4Isotope* g4Isotope) const;
58
59 protected:
60 IsotopeMap(const IsotopeMap&);
61
62 private:
63 // static data members
64 static IsotopeMap* fgInstance;
65
66 // data members
67 G4IsotopeMap fG4Isotopes;
68 VgmIsotopeMap fVgmIsotopes;
69};
70
71} // namespace Geant4GM
72
73#endif // GEANT4_GM_ISOTOPE_MAP_H
The map between VGM and Geant4 isotopes.
Definition IsotopeMap.h:36
std::map< G4Isotope *, VGM::IIsotope * > VgmIsotopeMap
Definition IsotopeMap.h:41
static IsotopeMap * Instance()
void AddIsotope(VGM::IIsotope *, G4Isotope *)
std::map< VGM::IIsotope *, G4Isotope * > G4IsotopeMap
Definition IsotopeMap.h:38
G4IsotopeMap::const_iterator G4IsotopeMapCIterator
Definition IsotopeMap.h:39
VgmIsotopeMap::const_iterator VgmIsotopeMapCIterator
Definition IsotopeMap.h:42
G4Isotope * GetIsotope(VGM::IIsotope *iIsotope) const
The VGM interface to elements.
Definition IIsotope.h:28
VGM implementation for Geant4.
Definition Element.h:29
VGM interfaces.
Definition VMedium.h:28