Geant4 Cross Reference |
1 // 1 2 // ******************************************* 3 // * License and Disclaimer 4 // * 5 // * The Geant4 software is copyright of th 6 // * the Geant4 Collaboration. It is provided 7 // * conditions of the Geant4 Software License 8 // * LICENSE and available at http://cern.ch/ 9 // * include a list of copyright holders. 10 // * 11 // * Neither the authors of this software syst 12 // * institutes,nor the agencies providing fin 13 // * work make any representation or warran 14 // * regarding this software system or assum 15 // * use. Please see the license in the file 16 // * for the full disclaimer and the limitatio 17 // * 18 // * This code implementation is the result 19 // * technical work of the GEANT4 collaboratio 20 // * By using, copying, modifying or distri 21 // * any work based on the software) you ag 22 // * use in resulting scientific publicati 23 // * acceptance of all terms of the Geant4 Sof 24 // ******************************************* 25 // 26 // G4IntersectionSolid 27 // 28 // Class description: 29 // 30 // Class for description of intersection of tw 31 32 // 12.09.98 V.Grichine: initial design and imp 33 // ------------------------------------------- 34 #ifndef G4INTERSECTIONSOLID_HH 35 #define G4INTERSECTIONSOLID_HH 36 37 #include "G4BooleanSolid.hh" 38 #include "G4VSolid.hh" 39 40 #include "G4RotationMatrix.hh" 41 #include "G4ThreeVector.hh" 42 #include "G4Transform3D.hh" 43 #include "G4AffineTransform.hh" 44 45 class G4IntersectionSolid : public G4BooleanSo 46 { 47 public: 48 49 G4IntersectionSolid( const G4String& pName 50 G4VSolid* pSoli 51 G4VSolid* pSoli 52 53 G4IntersectionSolid( const G4String& pName 54 G4VSolid* pSoli 55 G4VSolid* pSoli 56 G4RotationMatri 57 const G4ThreeVector& 58 59 G4IntersectionSolid( const G4String& pName 60 G4VSolid* pSoli 61 G4VSolid* pSoli 62 const G4Transform3D& 63 64 ~G4IntersectionSolid() override ; 65 66 G4GeometryType GetEntityType() const over 67 68 G4VSolid* Clone() const override; 69 70 G4IntersectionSolid(__void__&); 71 // Fake default constructor for usage re 72 // persistency for clients requiring pre 73 // persistifiable objects. 74 75 G4IntersectionSolid(const G4IntersectionSo 76 G4IntersectionSolid& operator=(const G4Int 77 // Copy constructor and assignment opera 78 79 void BoundingLimits(G4ThreeVector& pMin, G 80 81 G4bool CalculateExtent( const EAxis pAxis, 82 const G4VoxelLimit 83 const G4AffineTran 84 G4double& pM 85 86 EInside Inside( const G4ThreeVector& p ) c 87 88 G4ThreeVector SurfaceNormal( const G4Three 89 90 G4double DistanceToIn( const G4ThreeVector 91 const G4ThreeVector 92 93 G4double DistanceToIn( const G4ThreeVector 94 95 G4double DistanceToOut( const G4ThreeVecto 96 const G4ThreeVecto 97 const G4bool calcN 98 G4bool *vali 99 G4ThreeVecto 100 101 G4double DistanceToOut( const G4ThreeVecto 102 103 104 void ComputeDimensions( G4VPVParamet 105 const G4int n, 106 const G4VPhysicalV 107 108 void DescribeYourselfTo ( G4VGraphicsScene 109 G4Polyhedron* CreatePolyhedron () const ov 110 }; 111 112 #endif 113 114