VGM Version 5.3
Loading...
Searching...
No Matches
PlacementMap.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_PLACEMENT_MAP_H
21#define ROOT_GM_PLACEMENT_MAP_H
22
23#include <map>
24
25class TGeoNode;
26
27namespace VGM {
28class IPlacement;
29}
30
31namespace RootGM {
32
33class PlacementMap;
34
36{
37 public:
38 typedef std::map<VGM::IPlacement*, TGeoNode*> RootPlacementMap;
39 typedef RootPlacementMap::const_iterator RootPlacementMapCIterator;
40
41 public:
43 virtual ~PlacementMap();
44
45 // static access methods
46 static PlacementMap* Instance();
47
48 // methods
49 void AddPlacement(VGM::IPlacement*, TGeoNode*);
50 TGeoNode* GetPlacement(VGM::IPlacement* iPlacement) const;
51
52 protected:
54
55 private:
56 // static data members
57 static PlacementMap* fgInstance;
58
59 // data members
60 RootPlacementMap fPlacements;
61};
62
63} // namespace RootGM
64
65#endif // ROOT_GM_PLACEMENT_MAP_H
The map between VGM and Root placements.
RootPlacementMap::const_iterator RootPlacementMapCIterator
TGeoNode * GetPlacement(VGM::IPlacement *iPlacement) const
static PlacementMap * Instance()
std::map< VGM::IPlacement *, TGeoNode * > RootPlacementMap
void AddPlacement(VGM::IPlacement *, TGeoNode *)
The VGM interface to positions of volumes.
Definition IPlacement.h:44
VGM implementation for Root.
Definition axis.h:28
VGM interfaces.
Definition VMedium.h:28