VGM Version 5.3
Loading...
Searching...
No Matches
ScaledSolid.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 - 2017, 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_SCALED_SOLID_H
21#define GEANT4_GM_SCALED_SOLID_H
22
24
26
27#include <iostream>
28
29class G4VSolid;
30class G4ScaledSolid;
31class G4ReflectedSolid;
32
33namespace Geant4GM {
34
36{
37 public:
38 ScaledSolid(const std::string& name, VGM::ISolid* solid,
39 const HepGeom::Scale3D& scale3D);
40 ScaledSolid(G4ScaledSolid* scaledSolid, G4ReflectedSolid* reflectedScaled);
41 virtual ~ScaledSolid();
42
43 // methods
44 virtual std::string Name() const;
45
46 virtual VGM::ISolid* ConstituentSolid() const;
47 virtual VGM::Transform Scale() const;
48 virtual bool ToBeReflected() const;
49
50 protected:
52 ScaledSolid(const ScaledSolid& rhs);
53
54 private:
55 G4ScaledSolid* fScaledSolid;
56 bool fToBeReflected;
57};
58
59} // namespace Geant4GM
60
62{
63 return fToBeReflected;
64}
65
66#endif // GEANT4_GM_SCALED_SOLID_H
The ABC for Scaled solids.
VGM implementation for Geant4 Scaled solid.
Definition ScaledSolid.h:36
virtual VGM::ISolid * ConstituentSolid() const
Return the constituent solid.
virtual bool ToBeReflected() const
Return true if the solid has to be first reflected before being placed.
Definition ScaledSolid.h:61
virtual std::string Name() const
Return the name of this solid.
virtual VGM::Transform Scale() const
Return the 3D scale.
The VGM interface to solids.
Definition ISolid.h:58
VGM implementation for Geant4.
Definition Element.h:29
std::vector< double > Transform
Definition Transform.h:40