CMS 3D CMS Logo

Boolean.h
Go to the documentation of this file.
1 #ifndef DETECTOR_DESCRIPTION_CORE_DDI_BOOLEAN_H
2 #define DETECTOR_DESCRIPTION_CORE_DDI_BOOLEAN_H
3 
8 #include "Solid.h"
9 
10 namespace DDI {
11 
12  class BooleanSolid : public Solid
13  {
14  public:
15  BooleanSolid(const DDSolid & A, const DDSolid & B,
16  const DDTranslation & t,
17  const DDRotation & r,
18  DDSolidShape s);
19 
20  const DDSolid & a() const { return a_; }
21  const DDSolid & b() const { return b_; }
22  const DDTranslation & t() const { return t_; }
23  const DDRotation & r() const { return r_; }
24 
25  protected:
29  };
30 
31  class Union : public BooleanSolid
32  {
33  public:
34  Union(const DDSolid & A, const DDSolid & B,
35  const DDTranslation & t,
36  const DDRotation & r);
37  };
38 
39  class Intersection : public BooleanSolid
40  {
41  public:
42  Intersection(const DDSolid & A, const DDSolid & B,
43  const DDTranslation & t,
44  const DDRotation & r);
45  };
46 
47  class Subtraction : public BooleanSolid
48  {
49  public:
50  Subtraction(const DDSolid & A, const DDSolid & B,
51  const DDTranslation & t,
52  const DDRotation & r);
53  };
54 }
55 #endif // DETECTOR_DESCRIPTION_CORE_DDI_BOOLEAN_H
DDSolid b_
Definition: Boolean.h:26
const DDTranslation & t() const
Definition: Boolean.h:22
DDSolidShape
Definition: DDSolidShapes.h:4
const DDSolid & a() const
Definition: Boolean.h:20
const DDRotation & r() const
Definition: Boolean.h:23
A DDSolid represents the shape of a part.
Definition: DDSolid.h:38
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > DDTranslation
Definition: DDTranslation.h:7
Represents a uniquely identifyable rotation matrix.
Definition: DDTransform.h:67
DDSolid a_
Definition: Boolean.h:26
const DDSolid & b() const
Definition: Boolean.h:21
BooleanSolid(const DDSolid &A, const DDSolid &B, const DDTranslation &t, const DDRotation &r, DDSolidShape s)
Definition: Boolean.cc:4
static const std::string B
DDRotation r_
Definition: Boolean.h:28
DDTranslation t_
Definition: Boolean.h:27