Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/graphics_reps/src/G4Polyhedron.cc

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

  1 //
  2 // ********************************************************************
  3 // * License and Disclaimer                                           *
  4 // *                                                                  *
  5 // * The  Geant4 software  is  copyright of the Copyright Holders  of *
  6 // * the Geant4 Collaboration.  It is provided  under  the terms  and *
  7 // * conditions of the Geant4 Software License,  included in the file *
  8 // * LICENSE and available at  http://cern.ch/geant4/license .  These *
  9 // * include a list of copyright holders.                             *
 10 // *                                                                  *
 11 // * Neither the authors of this software system, nor their employing *
 12 // * institutes,nor the agencies providing financial support for this *
 13 // * work  make  any representation or  warranty, express or implied, *
 14 // * regarding  this  software system or assume any liability for its *
 15 // * use.  Please see the license in the file  LICENSE  and URL above *
 16 // * for the full disclaimer and the limitation of liability.         *
 17 // *                                                                  *
 18 // * This  code  implementation is the result of  the  scientific and *
 19 // * technical work of the GEANT4 collaboration.                      *
 20 // * By using,  copying,  modifying or  distributing the software (or *
 21 // * any work based  on the software)  you  agree  to acknowledge its *
 22 // * use  in  resulting  scientific  publications,  and indicate your *
 23 // * acceptance of all terms of the Geant4 Software license.          *
 24 // ********************************************************************
 25 //
 26 //
 27 
 28 #include "G4Polyhedron.hh"
 29 
 30 G4Polyhedron::G4Polyhedron ()
 31 = default;
 32 
 33 G4Polyhedron::G4Polyhedron (G4int Nvert, G4int Nface):
 34   HepPolyhedron (Nvert, Nface)
 35 {}
 36 
 37 G4Polyhedron::~G4Polyhedron () = default;
 38 
 39 G4Polyhedron::G4Polyhedron (const HepPolyhedron& from)
 40   : HepPolyhedron(from)
 41 {
 42   fNumberOfRotationStepsAtTimeOfCreation =
 43     from.fNumberOfRotationSteps;
 44 }
 45 
 46 G4PolyhedronBox::G4PolyhedronBox (G4double dx, G4double dy, G4double dz):
 47   G4Polyhedron (HepPolyhedronBox (dx, dy, dz)) {}
 48 
 49 G4PolyhedronBox::~G4PolyhedronBox () = default;
 50 
 51 G4PolyhedronCone::G4PolyhedronCone (G4double Rmn1, G4double Rmx1,
 52                                     G4double Rmn2, G4double Rmx2, G4double Dz):
 53   G4Polyhedron (HepPolyhedronCone (Rmn1, Rmx1, Rmn2, Rmx2, Dz)) {}
 54 
 55 G4PolyhedronCone::~G4PolyhedronCone () = default;
 56 
 57 G4PolyhedronCons::G4PolyhedronCons (G4double Rmn1, G4double Rmx1,
 58                                     G4double Rmn2, G4double Rmx2, G4double Dz,
 59                                     G4double Phi1, G4double Dphi):
 60   G4Polyhedron (HepPolyhedronCons (Rmn1, Rmx1, Rmn2, Rmx2, Dz, Phi1, Dphi)) {}
 61 
 62 G4PolyhedronCons::~G4PolyhedronCons () = default;
 63 
 64 G4PolyhedronPara::G4PolyhedronPara (G4double Dx, G4double Dy, G4double Dz,
 65                                     G4double Alpha, G4double Theta,
 66                                     G4double Phi):
 67   G4Polyhedron (HepPolyhedronPara (Dx, Dy, Dz, Alpha, Theta, Phi)) {}
 68 
 69 G4PolyhedronPara::~G4PolyhedronPara () = default;
 70 
 71 G4PolyhedronPcon::G4PolyhedronPcon (G4double phi, G4double dphi, G4int nz,
 72                                     const G4double *z,
 73                                     const G4double *rmin,
 74                                     const G4double *rmax):
 75   G4Polyhedron (HepPolyhedronPcon (phi, dphi, nz, z, rmin, rmax)) {}
 76 
 77 G4PolyhedronPcon::G4PolyhedronPcon (G4double phi, G4double dphi,
 78                                     const std::vector<G4TwoVector> &rz):
 79   G4Polyhedron (HepPolyhedronPcon(phi, dphi, rz)) {}
 80 
 81 G4PolyhedronPcon::~G4PolyhedronPcon () = default;
 82 
 83 G4PolyhedronPgon::G4PolyhedronPgon (G4double phi, G4double dphi, G4int npdv,
 84                                     G4int nz,
 85                                     const G4double *z,
 86                                     const G4double *rmin,
 87                                     const G4double *rmax):
 88   G4Polyhedron (HepPolyhedronPgon (phi, dphi, npdv, nz, z, rmin, rmax)) {}
 89 
 90 G4PolyhedronPgon::G4PolyhedronPgon (G4double phi, G4double dphi, G4int npdv,
 91                                     const std::vector<G4TwoVector> &rz):
 92   G4Polyhedron (HepPolyhedronPgon(phi, dphi, npdv, rz)) {}
 93 
 94 G4PolyhedronPgon::~G4PolyhedronPgon () = default;
 95 
 96 G4PolyhedronSphere::G4PolyhedronSphere (G4double rmin, G4double rmax,
 97                                         G4double phi, G4double dphi,
 98                                         G4double the, G4double dthe):
 99   G4Polyhedron (HepPolyhedronSphere (rmin, rmax, phi, dphi, the, dthe)) {}
100 
101 G4PolyhedronSphere::~G4PolyhedronSphere () = default;
102 
103 G4PolyhedronTet::G4PolyhedronTet (const G4double p0[3],
104                                   const G4double p1[3],
105                                   const G4double p2[3],
106                                   const G4double p3[3]):
107   G4Polyhedron (HepPolyhedronTet (p0, p1, p2, p3)) {}
108 
109 G4PolyhedronTet::~G4PolyhedronTet () = default;
110 
111 G4PolyhedronTorus::G4PolyhedronTorus (G4double rmin, G4double rmax,
112                                       G4double rtor,
113                                       G4double phi, G4double dphi):
114   G4Polyhedron (HepPolyhedronTorus (rmin, rmax, rtor, phi, dphi)) {}
115 
116 G4PolyhedronTorus::~G4PolyhedronTorus () = default;
117 
118 G4PolyhedronTrap::G4PolyhedronTrap (G4double Dz, G4double Theta, G4double Phi,
119                                     G4double Dy1,
120                                     G4double Dx1, G4double Dx2, G4double Alp1,
121                                     G4double Dy2,
122                                     G4double Dx3, G4double Dx4, G4double Alp2):
123   G4Polyhedron (HepPolyhedronTrap (Dz, Theta, Phi, Dy1, Dx1, Dx2, Alp1,
124                                    Dy2, Dx3, Dx4, Alp2)) {}
125 
126 G4PolyhedronTrap::~G4PolyhedronTrap () = default;
127 
128 G4PolyhedronTrd1::G4PolyhedronTrd1 (G4double Dx1, G4double Dx2,
129                                     G4double Dy, G4double Dz):
130   G4Polyhedron (HepPolyhedronTrd1 (Dx1, Dx2, Dy, Dz)) {}
131 
132 G4PolyhedronTrd1::~G4PolyhedronTrd1 () = default;
133 
134 G4PolyhedronTrd2::G4PolyhedronTrd2 (G4double Dx1, G4double Dx2,
135                                     G4double Dy1, G4double Dy2, G4double Dz):
136   G4Polyhedron (HepPolyhedronTrd2 (Dx1, Dx2, Dy1, Dy2, Dz)) {}
137 
138 G4PolyhedronTrd2::~G4PolyhedronTrd2 () = default;
139 
140 G4PolyhedronTube::G4PolyhedronTube (G4double Rmin, G4double Rmax, G4double Dz):
141   G4Polyhedron (HepPolyhedronTube (Rmin, Rmax, Dz)) {}
142 
143 G4PolyhedronTube::~G4PolyhedronTube () = default;
144 
145 G4PolyhedronTubs::G4PolyhedronTubs (G4double Rmin, G4double Rmax, G4double Dz,
146                                     G4double Phi1, G4double Dphi):
147   G4Polyhedron (HepPolyhedronTubs (Rmin, Rmax, Dz, Phi1, Dphi)) {}
148 
149 G4PolyhedronTubs::~G4PolyhedronTubs () = default;
150 
151 G4PolyhedronParaboloid::G4PolyhedronParaboloid (G4double r1, G4double r2,
152                                                 G4double dz, G4double sPhi,
153                                                 G4double dPhi):
154   G4Polyhedron (HepPolyhedronParaboloid(r1, r2, dz, sPhi, dPhi)) {}
155 
156 G4PolyhedronParaboloid::~G4PolyhedronParaboloid () = default;
157 
158 G4PolyhedronHype::G4PolyhedronHype (G4double r1, G4double r2, G4double tan1,
159                                     G4double tan2, G4double halfZ):
160   G4Polyhedron (HepPolyhedronHype(r1, r2, tan1, tan2, halfZ)) {}
161 
162 G4PolyhedronHype::~G4PolyhedronHype () = default;
163 
164 G4PolyhedronEllipsoid::G4PolyhedronEllipsoid (G4double ax, G4double by,
165                                               G4double cz,
166                                               G4double zCut1, G4double zCut2):
167   G4Polyhedron (HepPolyhedronEllipsoid (ax, by, cz, zCut1, zCut2)) {}
168 
169 G4PolyhedronEllipsoid::~G4PolyhedronEllipsoid () = default;
170 
171 G4PolyhedronEllipticalCone::G4PolyhedronEllipticalCone (G4double ax,
172                                                         G4double ay,
173                                                         G4double h,
174                                                         G4double zCut1):
175   G4Polyhedron (HepPolyhedronEllipticalCone (ax, ay, h, zCut1)) {}
176 
177 G4PolyhedronEllipticalCone::~G4PolyhedronEllipticalCone () = default;
178 
179 G4PolyhedronHyperbolicMirror::G4PolyhedronHyperbolicMirror (G4double a,
180                                                             G4double h,
181                                                             G4double r):
182   G4Polyhedron (HepPolyhedronHyperbolicMirror(a, h, r)) {}
183 
184 G4PolyhedronHyperbolicMirror::~G4PolyhedronHyperbolicMirror () = default;
185 
186 G4PolyhedronTetMesh::
187 G4PolyhedronTetMesh(const std::vector<G4ThreeVector>& tetrahedra):
188   G4Polyhedron (HepPolyhedronTetMesh(tetrahedra)) {}
189 
190 G4PolyhedronTetMesh::~G4PolyhedronTetMesh () = default;
191 
192 G4PolyhedronBoxMesh::
193 G4PolyhedronBoxMesh(G4double sizeX, G4double sizeY, G4double sizeZ,
194                     const std::vector<G4ThreeVector>& positions):
195   G4Polyhedron (HepPolyhedronBoxMesh(sizeX, sizeY, sizeZ, positions)) {}
196 
197 G4PolyhedronBoxMesh::~G4PolyhedronBoxMesh () = default;
198 
199 std::ostream& operator<<(std::ostream& os, const G4Polyhedron& polyhedron)
200 {
201   os << "G4Polyhedron: "
202      << (const G4Visible&)polyhedron << '\n'
203      << (const HepPolyhedron&)polyhedron;
204   return os;
205 }
206