VGM
Version 5.5
Toggle main menu visibility
Loading...
Searching...
No Matches
packages
Geant4GM
include
Geant4GM
solids
MultiUnion.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_MULTI_UNION_H
21
#define GEANT4_GM_MULTI_UNION_H
22
23
#include "
VGM/common/Transform.h
"
24
25
#include "
BaseVGM/solids/VMultiUnion.h
"
26
27
#include "G4Transform3D.hh"
28
#include "G4Types.hh"
29
30
#include <iostream>
31
#include <vector>
32
33
class
G4VSolid;
34
class
G4MultiUnion;
35
class
G4ReflectedSolid;
36
37
namespace
Geant4GM
{
38
39
class
MultiUnion
:
public
BaseVGM::VMultiUnion
40
{
41
public
:
42
MultiUnion
(
const
std::string& name, std::vector<VGM::ISolid*> constituents,
43
std::vector<G4Transform3D> transforms);
44
MultiUnion
(G4MultiUnion*
MultiUnion
, G4ReflectedSolid* reflected);
45
virtual
~MultiUnion
();
46
47
// methods
48
virtual
std::string
Name
()
const
;
49
50
virtual
int
NofSolids
()
const
;
51
virtual
ISolid*
ConstituentSolid
(G4int index)
const
;
52
virtual
VGM::Transform
Transformation
(G4int index)
const
;
53
virtual
bool
ToBeReflected
()
const
;
54
55
protected
:
56
MultiUnion
();
57
MultiUnion
(
const
MultiUnion
& rhs);
58
59
private
:
60
G4MultiUnion* fMultiUnion;
61
bool
fToBeReflected;
62
};
63
64
}
// namespace Geant4GM
65
66
inline
bool
Geant4GM::MultiUnion::ToBeReflected
()
const
67
{
68
return
fToBeReflected;
69
}
70
71
#endif
// GEANT4_GM_MULTI_UNION_H
Transform.h
VMultiUnion.h
BaseVGM::VMultiUnion
The ABC for Boolean solids.
Definition
VMultiUnion.h:30
Geant4GM::MultiUnion::Transformation
virtual VGM::Transform Transformation(G4int index) const
Definition
MultiUnion.cxx:129
Geant4GM::MultiUnion::ConstituentSolid
virtual ISolid * ConstituentSolid(G4int index) const
Definition
MultiUnion.cxx:118
Geant4GM::MultiUnion::NofSolids
virtual int NofSolids() const
Return the number of constituent solids.
Definition
MultiUnion.cxx:109
Geant4GM::MultiUnion::~MultiUnion
virtual ~MultiUnion()
Definition
MultiUnion.cxx:90
Geant4GM::MultiUnion::ToBeReflected
virtual bool ToBeReflected() const
Return true if the solid has to be first reflected before being placed.
Definition
MultiUnion.h:66
Geant4GM::MultiUnion::MultiUnion
MultiUnion()
Definition
MultiUnion.cxx:76
Geant4GM::MultiUnion::MultiUnion
MultiUnion(const std::string &name, std::vector< VGM::ISolid * > constituents, std::vector< G4Transform3D > transforms)
Definition
MultiUnion.cxx:28
Geant4GM::MultiUnion::Name
virtual std::string Name() const
Return the name of this solid.
Definition
MultiUnion.cxx:100
Geant4GM
VGM implementation for Geant4.
Definition
Element.h:29
VGM::Transform
std::vector< double > Transform
Definition
Transform.h:40
Generated on
for VGM by
1.17.0