VGM
Version 5.5
Toggle main menu visibility
Loading...
Searching...
No Matches
packages
Geant4GM
source
volumes
PlacementMap.cxx
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
12
//
13
// Class PlacementMap
14
// ---------------------
15
// The map between VGM and Geant4 placements.
16
//
17
// Author: Ivana Hrivnacova; IPN Orsay
18
19
#include "
VGM/volumes/IPlacement.h
"
20
21
#include "
Geant4GM/volumes/PlacementMap.h
"
22
23
#include "G4VPhysicalVolume.hh"
24
25
Geant4GM::PlacementMap
* Geant4GM::PlacementMap::fgInstance = 0;
26
27
//_____________________________________________________________________________
28
Geant4GM::PlacementMap
*
Geant4GM::PlacementMap::Instance
()
29
{
31
32
if
(!fgInstance)
new
Geant4GM::PlacementMap
();
33
34
return
fgInstance;
35
}
36
37
//_____________________________________________________________________________
38
Geant4GM::PlacementMap::PlacementMap
() : fG4Placements(), fVgmPlacements()
39
{
41
42
fgInstance =
this
;
43
}
44
45
//_____________________________________________________________________________
46
Geant4GM::PlacementMap::PlacementMap
(
const
PlacementMap
&)
47
{
49
}
50
51
//_____________________________________________________________________________
52
Geant4GM::PlacementMap::~PlacementMap
()
53
{
54
//
55
fgInstance = 0;
56
}
57
58
//_____________________________________________________________________________
59
void
Geant4GM::PlacementMap::AddPlacement
(
60
VGM::IPlacement
* iPlacement, G4VPhysicalVolume* g4Placement)
61
{
63
64
fG4Placements[iPlacement] = g4Placement;
65
fVgmPlacements[g4Placement] = iPlacement;
66
}
67
68
//_____________________________________________________________________________
69
G4VPhysicalVolume*
Geant4GM::PlacementMap::GetPlacement
(
70
VGM::IPlacement
* iPlacement)
const
71
{
73
74
G4PlacementMapCIterator
i = fG4Placements.find(iPlacement);
75
if
(i != fG4Placements.end())
76
return
(*i).second;
77
else
78
return
0;
79
}
80
81
//_____________________________________________________________________________
82
VGM::IPlacement
*
Geant4GM::PlacementMap::GetPlacement
(
83
G4VPhysicalVolume* pv)
const
84
{
86
87
VgmPlacementMapCIterator
i = fVgmPlacements.find(pv);
88
if
(i != fVgmPlacements.end())
89
return
(*i).second;
90
else
91
return
0;
92
}
PlacementMap.h
IPlacement.h
Geant4GM::PlacementMap
The map between VGM and Geant4 placements.
Definition
PlacementMap.h:38
Geant4GM::PlacementMap::Instance
static PlacementMap * Instance()
Definition
PlacementMap.cxx:28
Geant4GM::PlacementMap::VgmPlacementMapCIterator
VgmPlacementMap::const_iterator VgmPlacementMapCIterator
Definition
PlacementMap.h:44
Geant4GM::PlacementMap::AddPlacement
void AddPlacement(VGM::IPlacement *, G4VPhysicalVolume *)
Definition
PlacementMap.cxx:59
Geant4GM::PlacementMap::~PlacementMap
virtual ~PlacementMap()
Definition
PlacementMap.cxx:52
Geant4GM::PlacementMap::GetPlacement
G4VPhysicalVolume * GetPlacement(VGM::IPlacement *iPlacement) const
Definition
PlacementMap.cxx:69
Geant4GM::PlacementMap::G4PlacementMapCIterator
G4PlacementMap::const_iterator G4PlacementMapCIterator
Definition
PlacementMap.h:41
Geant4GM::PlacementMap::PlacementMap
PlacementMap()
Definition
PlacementMap.cxx:38
VGM::IPlacement
The VGM interface to positions of volumes.
Definition
IPlacement.h:44
Generated on
for VGM by
1.17.0