CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Ellipsoid.h
Go to the documentation of this file.
1 #ifndef DDI_Ellipsoid_h
2 #define DDI_Ellipsoid_h
3 
4 #include <iosfwd>
5 #include "Solid.h"
7 
8 namespace DDI {
9 
10  class Ellipsoid : public Solid
11  {
12  public:
13  Ellipsoid(double xSemiAxis,
14  double ySemiAxis,
15  double zSemiAxis,
16  double zBottomCut=0,
17  double zTopCut=0
18  )
20  {
21  p_.push_back(xSemiAxis);
22  p_.push_back(ySemiAxis);
23  p_.push_back(zSemiAxis);
24  p_.push_back(zBottomCut);
25  p_.push_back(zTopCut);
26  }
27  ~Ellipsoid() { }
28 
30  double volume() const ;
31  double halfVol (double dz, double maxz) const;
32  void stream(std::ostream & os) const;
33  };
34 
35 }
36 #endif // DDI_Ellipsoid_h
double volume() const
Not as flexible and possibly less accurate than G4 volume.
Definition: Ellipsoid.cc:45
double halfVol(double dz, double maxz) const
Definition: Ellipsoid.cc:16
void stream(std::ostream &os) const
Definition: Ellipsoid.cc:7
Ellipsoid(double xSemiAxis, double ySemiAxis, double zSemiAxis, double zBottomCut=0, double zTopCut=0)
Definition: Ellipsoid.h:13
std::vector< double > p_
Definition: Solid.h:41