VGM
Version 5.5
Toggle main menu visibility
Loading...
Searching...
No Matches
packages
Geant4GM
include
Geant4GM
volumes
VolumeMap.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_VOLUME_MAP_H
21
#define GEANT4_GM_VOLUME_MAP_H
22
23
#include <map>
24
#include <vector>
25
26
class
G4LogicalVolume;
27
28
namespace
VGM
{
29
class
IVolume
;
30
}
31
32
namespace
Geant4GM
{
33
34
class
VolumeMap
;
35
36
class
VolumeMap
37
{
38
public
:
39
typedef
std::map<VGM::IVolume*, G4LogicalVolume*>
G4VolumeMap
;
40
typedef
std::map<G4LogicalVolume*, VGM::IVolume*>
VgmVolumeMap
;
41
typedef
std::map<G4LogicalVolume*, std::vector<G4LogicalVolume*>>
G4ParamVolumesMap
;
42
43
public
:
44
VolumeMap
();
45
virtual
~VolumeMap
();
46
47
// static access methods
48
static
VolumeMap
*
Instance
();
49
50
// methods
51
void
AddVolume
(
VGM::IVolume
*, G4LogicalVolume*);
52
void
AddParamVolume
(G4LogicalVolume*,
const
std::vector<G4LogicalVolume*>&);
53
void
Print
()
const
;
54
55
// get methods
56
G4LogicalVolume*
GetVolume
(
VGM::IVolume
* iVolume)
const
;
57
VGM::IVolume
*
GetVolume
(G4LogicalVolume* lv)
const
;
58
const
std::vector<G4LogicalVolume*>&
GetParamVolumes
(G4LogicalVolume* lv)
const
;
59
60
private
:
61
VolumeMap
(
const
VolumeMap
&);
62
63
// static data members
64
static
VolumeMap
* fgInstance;
65
66
// data members
67
G4VolumeMap
fG4Volumes;
68
VgmVolumeMap
fVgmVolumes;
69
G4ParamVolumesMap
fG4ParamVolumes;
70
std::vector<G4LogicalVolume*> fDummyVector;
71
};
72
73
}
// namespace Geant4GM
74
75
#endif
// GEANT4_GM_VOLUME_MAP_H
Geant4GM::VolumeMap
The map between VGM and Geant4 volumes.
Definition
VolumeMap.h:37
Geant4GM::VolumeMap::AddParamVolume
void AddParamVolume(G4LogicalVolume *, const std::vector< G4LogicalVolume * > &)
Definition
VolumeMap.cxx:70
Geant4GM::VolumeMap::AddVolume
void AddVolume(VGM::IVolume *, G4LogicalVolume *)
Definition
VolumeMap.cxx:60
Geant4GM::VolumeMap::Print
void Print() const
Definition
VolumeMap.cxx:77
Geant4GM::VolumeMap::~VolumeMap
virtual ~VolumeMap()
Definition
VolumeMap.cxx:52
Geant4GM::VolumeMap::VolumeMap
VolumeMap()
Definition
VolumeMap.cxx:38
Geant4GM::VolumeMap::G4ParamVolumesMap
std::map< G4LogicalVolume *, std::vector< G4LogicalVolume * > > G4ParamVolumesMap
Definition
VolumeMap.h:41
Geant4GM::VolumeMap::VgmVolumeMap
std::map< G4LogicalVolume *, VGM::IVolume * > VgmVolumeMap
Definition
VolumeMap.h:40
Geant4GM::VolumeMap::Instance
static VolumeMap * Instance()
Definition
VolumeMap.cxx:28
Geant4GM::VolumeMap::GetParamVolumes
const std::vector< G4LogicalVolume * > & GetParamVolumes(G4LogicalVolume *lv) const
Definition
VolumeMap.cxx:120
Geant4GM::VolumeMap::GetVolume
G4LogicalVolume * GetVolume(VGM::IVolume *iVolume) const
Definition
VolumeMap.cxx:95
Geant4GM::VolumeMap::G4VolumeMap
std::map< VGM::IVolume *, G4LogicalVolume * > G4VolumeMap
Definition
VolumeMap.h:39
VGM::IVolume
The VGM interface to volumes.
Definition
IVolume.h:32
Geant4GM
VGM implementation for Geant4.
Definition
Element.h:29
VGM
VGM interfaces.
Definition
VMedium.h:28
Generated on
for VGM by
1.17.0