VGM Version 5.3
Loading...
Searching...
No Matches
IsotopeMap.h
Go to the documentation of this file.
1// $Id$
2
3// -----------------------------------------------------------------------
4// The RootGM package of the Virtual Geometry Model
5// Copyright (C) 2007 - 2010 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 ROOT_GM_ISOTOPE_MAP_H
21#define ROOT_GM_ISOTOPE_MAP_H
22
23#include <map>
24
25class TGeoIsotope;
26
27namespace VGM {
28class IIsotope;
29}
30
31namespace RootGM {
32
33class IsotopeMap;
34
36{
37 public:
38 typedef std::map<VGM::IIsotope*, TGeoIsotope*> TGeoIsotopeMap;
39 typedef TGeoIsotopeMap::const_iterator TGeoIsotopeMapCIterator;
40
41 typedef std::map<TGeoIsotope*, 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*, TGeoIsotope*);
53 void Print() const;
54
55 // get methods
56 TGeoIsotope* GetIsotope(VGM::IIsotope* iIsotope) const;
57 VGM::IIsotope* GetIsotope(TGeoIsotope* tgeoIsotope) const;
58
59 protected:
60 IsotopeMap(const IsotopeMap&);
61
62 private:
63 // static data members
64 static IsotopeMap* fgInstance;
65
66 // data members
67 TGeoIsotopeMap fTGeoIsotopes;
68 VgmIsotopeMap fVgmIsotopes;
69};
70
71} // namespace RootGM
72
73#endif // GEANT4_GM_ISOTOPE_MAP_H
The map between VGM and Root isotopes.
Definition IsotopeMap.h:36
virtual ~IsotopeMap()
TGeoIsotope * GetIsotope(VGM::IIsotope *iIsotope) const
TGeoIsotopeMap::const_iterator TGeoIsotopeMapCIterator
Definition IsotopeMap.h:39
void Print() const
static IsotopeMap * Instance()
VgmIsotopeMap::const_iterator VgmIsotopeMapCIterator
Definition IsotopeMap.h:42
std::map< VGM::IIsotope *, TGeoIsotope * > TGeoIsotopeMap
Definition IsotopeMap.h:38
void AddIsotope(VGM::IIsotope *, TGeoIsotope *)
std::map< TGeoIsotope *, VGM::IIsotope * > VgmIsotopeMap
Definition IsotopeMap.h:41
The VGM interface to elements.
Definition IIsotope.h:28
VGM implementation for Root.
Definition axis.h:28
VGM interfaces.
Definition VMedium.h:28