VGM Version 5.3
Loading...
Searching...
No Matches
MaterialMap.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, 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_MATERIAL_MAP_H
21#define ROOT_GM_MATERIAL_MAP_H
22
23#include <map>
24
25class TGeoMaterial;
26
27namespace VGM {
28class IMaterial;
29}
30
31namespace RootGM {
32
33class MaterialMap;
34
36{
37 public:
38 typedef std::map<VGM::IMaterial*, TGeoMaterial*> RootMaterialMap;
39 typedef RootMaterialMap::const_iterator RootMaterialMapCIterator;
40
41 typedef std::map<TGeoMaterial*, VGM::IMaterial*> VgmMaterialMap;
42 typedef VgmMaterialMap::const_iterator VgmMaterialMapCIterator;
43
44 public:
46 virtual ~MaterialMap();
47
48 // static access methods
49 static MaterialMap* Instance();
50
51 // methods
52 void AddMaterial(VGM::IMaterial*, TGeoMaterial*);
53 void Print() const;
54
55 // get methods
56 TGeoMaterial* GetMaterial(VGM::IMaterial* iMaterial) const;
57 VGM::IMaterial* GetMaterial(TGeoMaterial* rootMaterial) const;
58
59 private:
61
62 // static data members
63 static MaterialMap* fgInstance;
64
65 // data members
66 RootMaterialMap fRootMaterials;
67 VgmMaterialMap fVgmMaterials;
68};
69
70} // namespace RootGM
71
72#endif // ROOT_GM_MATERIAL_MAP_H
The map between VGM and Root material.
Definition MaterialMap.h:36
VgmMaterialMap::const_iterator VgmMaterialMapCIterator
Definition MaterialMap.h:42
std::map< VGM::IMaterial *, TGeoMaterial * > RootMaterialMap
Definition MaterialMap.h:38
TGeoMaterial * GetMaterial(VGM::IMaterial *iMaterial) const
std::map< TGeoMaterial *, VGM::IMaterial * > VgmMaterialMap
Definition MaterialMap.h:41
RootMaterialMap::const_iterator RootMaterialMapCIterator
Definition MaterialMap.h:39
void AddMaterial(VGM::IMaterial *, TGeoMaterial *)
static MaterialMap * Instance()
The VGM interface to materials.
Definition IMaterial.h:44
VGM implementation for Root.
Definition axis.h:28
VGM interfaces.
Definition VMedium.h:28