VGM
Version 5.5
Toggle main menu visibility
Loading...
Searching...
No Matches
packages
Geant4GM
include
Geant4GM
volumes
Placement.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_PLACEMENT_H
21
#define GEANT4_GM_PLACEMENT_H
22
23
#include "
VGM/common/Transform.h
"
24
25
#include "
BaseVGM/volumes/VPlacement.h
"
26
27
#include "geomdefs.hh"
28
29
#include <string>
30
31
class
G4VPhysicalVolume;
32
33
namespace
VGM
{
34
class
IVolume
;
35
}
36
37
namespace
Geant4GM
{
38
39
class
Placement
:
public
BaseVGM::VPlacement
40
{
41
public
:
42
Placement
(
43
VGM::IVolume
* volume,
VGM::IVolume
* motherVolume, G4VPhysicalVolume* pv);
44
virtual
~Placement
();
45
46
// static methods
47
static
EAxis
GetAxis
(
VGM::Axis
axis);
48
static
VGM::Axis
GetAxis
(EAxis axis);
49
50
// methods
51
virtual
VGM::PlacementType
Type
()
const
;
52
virtual
std::string
Name
()
const
;
53
virtual
int
CopyNo
()
const
;
54
virtual
VGM::Transform
Transformation
()
const
;
55
56
virtual
bool
MultiplePlacementData
(
VGM::Axis
& axis,
int
& nofItems,
57
double
& width,
double
& offset,
double
& halfGap)
const
;
58
59
virtual
bool
ParameterisedPlacementData
(
60
std::vector<VGM::Transform>& transforms,
61
std::vector<VGM::IVolume*>& volumes)
const
;
62
63
protected
:
64
Placement
();
65
Placement
(
const
Placement
& rhs);
66
67
private
:
68
G4VPhysicalVolume* fPhysicalVolume;
69
};
70
71
}
// namespace Geant4GM
72
73
#endif
// GEANT4_GM_PLACEMENT_H
Transform.h
VPlacement.h
BaseVGM::VPlacement
The abstract base class to positions of volumes.
Definition
VPlacement.h:32
Geant4GM::Placement::Transformation
virtual VGM::Transform Transformation() const
Return the 3D transformation (if simple placement).
Definition
Placement.cxx:177
Geant4GM::Placement::~Placement
virtual ~Placement()
Definition
Placement.cxx:72
Geant4GM::Placement::Type
virtual VGM::PlacementType Type() const
Return the type of this placement.
Definition
Placement.cxx:148
Geant4GM::Placement::GetAxis
static EAxis GetAxis(VGM::Axis axis)
Definition
Placement.cxx:82
Geant4GM::Placement::Placement
Placement()
Definition
Placement.cxx:59
Geant4GM::Placement::MultiplePlacementData
virtual bool MultiplePlacementData(VGM::Axis &axis, int &nofItems, double &width, double &offset, double &halfGap) const
Fill the multiple placement data if relevant and return true; return false if not multiple placement.
Definition
Placement.cxx:185
Geant4GM::Placement::ParameterisedPlacementData
virtual bool ParameterisedPlacementData(std::vector< VGM::Transform > &transforms, std::vector< VGM::IVolume * > &volumes) const
Fill the parameterised placement data if relevant and return true; return false if not parameterised ...
Definition
Placement.cxx:269
Geant4GM::Placement::CopyNo
virtual int CopyNo() const
Return the copy number of this placement.
Definition
Placement.cxx:170
Geant4GM::Placement::Name
virtual std::string Name() const
Return the name of this placement.
Definition
Placement.cxx:163
Geant4GM::Placement::Placement
Placement(VGM::IVolume *volume, VGM::IVolume *motherVolume, G4VPhysicalVolume *pv)
Definition
Placement.cxx:46
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
VGM::Transform
std::vector< double > Transform
Definition
Transform.h:40
VGM::Axis
Axis
Definition
Axis.h:34
VGM::PlacementType
PlacementType
Definition
IPlacement.h:32
Generated on
for VGM by
1.17.0