Geant4
9.6.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4PolyhedronArbitrary.hh
Go to the documentation of this file.
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 and of QinetiQ Ltd, *
20
// * subject to DEFCON 705 IPR conditions. *
21
// * By using, copying, modifying or distributing the software (or *
22
// * any work based on the software) you agree to acknowledge its *
23
// * use in resulting scientific publications, and indicate your *
24
// * acceptance of all terms of the Geant4 Software license. *
25
// ********************************************************************
26
//
27
//
28
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
29
//
30
// MODULE: G4PolyhedronArbitrary.hh
31
//
32
// Date: 15/06/2005
33
// Author: P R Truscott
34
// Organisation: QinetiQ Ltd, UK
35
// Customer: UK Ministry of Defence : RAO CRP TD Electronic Systems
36
// Contract: C/MAT/N03517
37
//
38
// This software is the intelectual property of QinetiQ Ltd, subject
39
// DEFCON 705 IPR conditions.
40
//
41
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
42
//
43
// CHANGE HISTORY
44
// --------------
45
//
46
// 11th November 2011, J Allison. Added private copy constructor and
47
// assignment operator added to satisfy Coverity.
48
// 27th July 2011, J Allison. Added SetReferences and InvertFacets.
49
// SetReferences is necessary at the end to complete the polyhedron.
50
// It particularly matters if the polyhedron suffers subsequent
51
// boolean operations.
52
// InvertFacets can be useful.
53
// 13 January 2006, J Allison. Removed unnecessary operator= functions.
54
// 31 October 2004, P R Truscott, QinetiQ Ltd, UK
55
// Created.
56
//
57
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
58
//
59
// DESCRIPTION
60
// -----------
61
//
62
//
63
//
64
///////////////////////////////////////////////////////////////////////////////
65
//
66
//
67
#ifndef G4PolyhedronArbitrary_h
68
#define G4PolyhedronArbitrary_h 1
69
70
#include "
G4Polyhedron.hh
"
71
#include "
G4ThreeVector.hh
"
72
73
///////////////////////////////////////////////////////////////////////////////
74
//
75
class
G4PolyhedronArbitrary
:
public
G4Polyhedron
76
{
77
public
:
78
G4PolyhedronArbitrary
(
const
G4int
nVertices,
const
G4int
nFacets);
79
virtual
~G4PolyhedronArbitrary
();
80
81
void
AddVertex
(
const
G4ThreeVector
v);
82
void
AddFacet
(
const
G4int
iv1,
const
G4int
iv2,
const
G4int
iv3,
83
const
G4int
iv4=0);
84
85
// Call this after all vertices and facets have been added.
86
void
SetReferences
() {
HepPolyhedron::SetReferences
();}
87
88
// Can be useful.
89
void
InvertFacets
() {
HepPolyhedron::InvertFacets
();}
90
91
protected
:
92
G4int
nVertexCount
;
93
G4int
nFacetCount
;
94
95
private
:
96
// Private copy constructor and assignment operator added to satisfy
97
// Coverity - JA 11/11/11.
98
G4PolyhedronArbitrary
(
const
G4PolyhedronArbitrary
&);
99
G4PolyhedronArbitrary
& operator= (
const
G4PolyhedronArbitrary
&);
100
};
101
#endif
102
///////////////////////////////////////////////////////////////////////////////
103
//
104
G4Polyhedron.hh
G4ThreeVector.hh
G4int
int G4int
Definition:
G4Types.hh:66
CLHEP::Hep3Vector
Definition:
ThreeVector.h:41
G4PolyhedronArbitrary
Definition:
G4PolyhedronArbitrary.hh:76
G4PolyhedronArbitrary::nVertexCount
G4int nVertexCount
Definition:
G4PolyhedronArbitrary.hh:92
G4PolyhedronArbitrary::~G4PolyhedronArbitrary
virtual ~G4PolyhedronArbitrary()
Definition:
G4PolyhedronArbitrary.cc:71
G4PolyhedronArbitrary::nFacetCount
G4int nFacetCount
Definition:
G4PolyhedronArbitrary.hh:93
G4PolyhedronArbitrary::AddVertex
void AddVertex(const G4ThreeVector v)
Definition:
G4PolyhedronArbitrary.cc:75
G4PolyhedronArbitrary::AddFacet
void AddFacet(const G4int iv1, const G4int iv2, const G4int iv3, const G4int iv4=0)
Definition:
G4PolyhedronArbitrary.cc:93
G4PolyhedronArbitrary::SetReferences
void SetReferences()
Definition:
G4PolyhedronArbitrary.hh:86
G4PolyhedronArbitrary::InvertFacets
void InvertFacets()
Definition:
G4PolyhedronArbitrary.hh:89
G4Polyhedron
Definition:
G4Polyhedron.hh:115
HepPolyhedron::InvertFacets
void InvertFacets()
Definition:
HepPolyhedron.cc:805
HepPolyhedron::SetReferences
void SetReferences()
Definition:
HepPolyhedron.cc:668
geant4-v9.6.0
source
graphics_reps
include
G4PolyhedronArbitrary.hh
Generated by
1.9.6