VGM Version 5.3
Loading...
Searching...
No Matches
IPolycone.h
Go to the documentation of this file.
1// $Id$
2
3// -----------------------------------------------------------------------
4// The VGM 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
19
20#ifndef VGM_I_POLYCONE_H
21#define VGM_I_POLYCONE_H
22
23#include "VGM/solids/ISolid.h"
24
25#include <iostream>
26
27namespace VGM {
28
29class IPolycone : public virtual ISolid
30{
31 public:
32 virtual ~IPolycone() {}
33
34 // methods
35 virtual SolidType Type() const = 0;
36 virtual std::string Name() const = 0;
37
40 virtual double StartPhi() const = 0;
43 virtual double DeltaPhi() const = 0;
46 virtual int NofZPlanes() const = 0;
49 virtual double* ZValues() const = 0;
52 virtual double* InnerRadiusValues() const = 0;
55 virtual double* OuterRadiusValues() const = 0;
56
57 // streaming
58 virtual std::ostream& Put(std::ostream& out) const = 0;
59};
60
61} // namespace VGM
62
63std::ostream& operator<<(std::ostream& out, const VGM::IPolycone& polycone);
64
65#endif // VGM_I_POLYCONE_H
std::ostream & operator<<(std::ostream &out, const VGM::IPolycone &polycone)
Definition VPolycone.cxx:22
The VGM interface to polycone solids.
Definition IPolycone.h:30
virtual double StartPhi() const =0
Return starting phi angle of the segment in deg.
virtual int NofZPlanes() const =0
Return number of planes perpendicular to the z axis.
virtual std::ostream & Put(std::ostream &out) const =0
Put the printing of the solid parameters in the out stream.
virtual double * ZValues() const =0
Return the array of z positions of the planes in mm.
virtual SolidType Type() const =0
Return the type of this solid.
virtual ~IPolycone()
Definition IPolycone.h:32
virtual double DeltaPhi() const =0
Return opening phi angle of the segment in deg.
virtual double * InnerRadiusValues() const =0
Return the array of inner radius of the planes in mm.
virtual std::string Name() const =0
Return the name of this solid.
virtual double * OuterRadiusValues() const =0
Return the array of outer radius of the planes in mm.
The VGM interface to solids.
Definition ISolid.h:58
VGM interfaces.
Definition VMedium.h:28
SolidType
Definition ISolid.h:29