VGM
Version 5.5
Toggle main menu visibility
Loading...
Searching...
No Matches
packages
BaseVGM
include
BaseVGM
volumes
VPlacement.h
Go to the documentation of this file.
1
// $Id$
2
3
// -----------------------------------------------------------------------
4
// The BaseVGM 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 BASE_VGM_V_PLACEMENT_H
21
#define BASE_VGM_V_PLACEMENT_H
22
23
#include "
VGM/volumes/IPlacement.h
"
24
25
namespace
VGM
{
26
class
IVolume
;
27
}
28
29
namespace
BaseVGM
{
30
31
class
VPlacement
:
public
virtual
VGM::IPlacement
32
{
33
public
:
34
VPlacement
(
VGM::IVolume
* volume,
VGM::IVolume
* motherVolume);
35
virtual
~VPlacement
();
36
37
// methods
38
39
virtual
std::string
Name
()
const
= 0;
40
virtual
VGM::IVolume
*
Volume
()
const
;
41
virtual
VGM::IVolume
*
Mother
()
const
;
42
virtual
int
CopyNo
()
const
= 0;
43
virtual
VGM::Transform
Transformation
()
const
= 0;
44
45
virtual
bool
MultiplePlacementData
(
VGM::Axis
& axis,
int
& nofDivisions,
46
double
& width,
double
& offset,
double
& halfGap)
const
= 0;
47
50
virtual
std::ostream&
Put
(std::ostream& out)
const
;
51
52
void
SetVolume
(
VGM::IVolume
* volume);
53
54
protected
:
55
VPlacement
();
56
VPlacement
(
const
VPlacement
& rhs);
57
58
private
:
59
VGM::IVolume
* fVolume;
60
VGM::IVolume
* fMotherVolume;
61
};
62
63
}
// namespace BaseVGM
64
65
#endif
// BASE_VGM_V_PLACEMENT_H
IPlacement.h
BaseVGM::VPlacement::SetVolume
void SetVolume(VGM::IVolume *volume)
Definition
VPlacement.cxx:112
BaseVGM::VPlacement::CopyNo
virtual int CopyNo() const =0
Return the copy number of this placement.
BaseVGM::VPlacement::Volume
virtual VGM::IVolume * Volume() const
Return the associated volume.
Definition
VPlacement.cxx:61
BaseVGM::VPlacement::MultiplePlacementData
virtual bool MultiplePlacementData(VGM::Axis &axis, int &nofDivisions, double &width, double &offset, double &halfGap) const =0
Fill the multiple placement data if relevant and return true; return false if not multiple placement.
BaseVGM::VPlacement::VPlacement
VPlacement()
Definition
VPlacement.cxx:43
BaseVGM::VPlacement::Mother
virtual VGM::IVolume * Mother() const
Return the associated mother volume.
Definition
VPlacement.cxx:68
BaseVGM::VPlacement::Put
virtual std::ostream & Put(std::ostream &out) const
Put the printing of the placement parameters in the out stream.
Definition
VPlacement.cxx:75
BaseVGM::VPlacement::~VPlacement
virtual ~VPlacement()
Definition
VPlacement.cxx:55
BaseVGM::VPlacement::Transformation
virtual VGM::Transform Transformation() const =0
Return the 3D transformation (if simple placement).
BaseVGM::VPlacement::VPlacement
VPlacement(VGM::IVolume *volume, VGM::IVolume *motherVolume)
Definition
VPlacement.cxx:27
BaseVGM::VPlacement::Name
virtual std::string Name() const =0
Return the name of this placement.
VGM::IPlacement
The VGM interface to positions of volumes.
Definition
IPlacement.h:44
VGM::IVolume
The VGM interface to volumes.
Definition
IVolume.h:32
BaseVGM
BaseVGM utilities.
Definition
utilities.h:23
VGM
VGM interfaces.
Definition
VMedium.h:28
VGM::Transform
std::vector< double > Transform
Definition
Transform.h:40
VGM::Axis
Axis
Definition
Axis.h:34
Generated on
for VGM by
1.17.0