VGM Version 5.3
Loading...
Searching...
No Matches
ScaledSolid.h
Go to the documentation of this file.
1// $Id$
2
3// -----------------------------------------------------------------------
4// The RootGM 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 ROOT_GM_SCALED_SOLID_H
21#define ROOT_GM_SCALED_SOLID_H
22
24
26
27class TGeoShape;
28class TGeoScaledShape;
29class TGeoScale;
30
31namespace RootGM {
32
34{
35 public:
36 ScaledSolid(const std::string& name, VGM::ISolid* solid, TGeoScale* scale);
37 ScaledSolid(TGeoScaledShape* scaledShape);
38 virtual ~ScaledSolid();
39
40 // methods
41 virtual std::string Name() const;
42
43 virtual VGM::ISolid* ConstituentSolid() const;
44 virtual VGM::Transform Scale() const;
45 virtual bool ToBeReflected() const;
46
47 protected:
49 ScaledSolid(const ScaledSolid& rhs);
50
51 private:
52 TGeoScaledShape* fScaledShape;
53};
54
55} // namespace RootGM
56
57inline bool RootGM::ScaledSolid::ToBeReflected() const { return false; }
58
59#endif // ROOT_GM_SCALED_SOLID_H
The ABC for Scaled solids.
VGM implementation for Root Scaled solid.
Definition ScaledSolid.h:34
virtual VGM::ISolid * ConstituentSolid() const
Return the constituent solid.
virtual VGM::Transform Scale() const
Return the 3D scale.
virtual bool ToBeReflected() const
Return true if the solid has to be first reflected before being placed.
Definition ScaledSolid.h:57
virtual std::string Name() const
Return the name of this solid.
The VGM interface to solids.
Definition ISolid.h:58
VGM implementation for Root.
Definition axis.h:28
std::vector< double > Transform
Definition Transform.h:40