CMS 3D CMS Logo

Solid.h
Go to the documentation of this file.
1 #ifndef DDI_Solid_h
2 #define DDI_Solid_h
3 
4 #include <iosfwd>
5 #include <vector>
7 
8 namespace DDI {
9 
10  class Solid
11  {
12  public:
13 
15 
17 
18  virtual ~Solid() { }
19 
20  const std::vector<double> & parameters() const { return p_; }
21 
22  virtual double volume() const { return 0; }
23 
24  DDSolidShape shape() const { return shape_; }
25 
26  virtual void stream(std::ostream &) const;
27 
28  void setParameters(std::vector<double> const & p) { p_ = p;}
29 
30  protected:
32  std::vector<double> p_;
33  };
34 }
35 
36 #endif // DDI_Solid_h
virtual double volume() const
Definition: Solid.h:22
DDSolidShape shape_
Definition: Solid.h:31
DDSolidShape
Definition: DDSolidShapes.h:6
virtual ~Solid()
Definition: Solid.h:18
virtual void stream(std::ostream &) const
Definition: Solid.cc:5
void setParameters(std::vector< double > const &p)
Definition: Solid.h:28
Solid()
Definition: Solid.h:14
const std::vector< double > & parameters() const
Definition: Solid.h:20
std::vector< double > p_
Definition: Solid.h:32
DDSolidShape shape() const
Definition: Solid.h:24
Solid(DDSolidShape shape)
Definition: Solid.h:16