CMS 3D CMS Logo

Parallelepiped.h
Go to the documentation of this file.
1 #ifndef DDI_Parallelepiped_h
2 #define DDI_Parallelepiped_h
3 
5 #include <iosfwd>
6 #include <vector>
7 
9 #include "Solid.h"
10 
11 namespace DDI {
12 
13  class Parallelepiped : public Solid
14  {
15  public:
16  Parallelepiped(double xHalf, double yHalf, double zHalf,
17  double alpha, double theta, double phi)
19  {
20  p_.emplace_back(xHalf);
21  p_.emplace_back(yHalf);
22  p_.emplace_back(zHalf);
23  p_.emplace_back(alpha);
24  p_.emplace_back(theta);
25  p_.emplace_back(phi);
26  }
27  ~Parallelepiped() override { }
28 
30  double volume() const override ;
31  void stream(std::ostream & os) const override;
32  };
33 
34 }
35 #endif // DDI_Parallelepiped_h
float alpha
Definition: AMPTWrapper.h:95
void stream(std::ostream &os) const override
Geom::Theta< T > theta() const
~Parallelepiped() override
Parallelepiped(double xHalf, double yHalf, double zHalf, double alpha, double theta, double phi)
std::vector< double > p_
Definition: Solid.h:32
double volume() const override
Not as flexible and possibly less accurate than G4 volume.