ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
Home page
Related Pages
Modules
Namespaces
Classes
Files
External Links
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
G4TwistedTrap.hh
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file G4TwistedTrap.hh
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
// G4TwistedTrap
27
//
28
// Class description:
29
//
30
// A G4TwistedTrap is a general twisted trapezoid: The faces perpendicular to the
31
// z planes are trapezia, and their centres are not necessarily on
32
// a line parallel to the z axis.
33
//
34
// pDz Half-length along the z-axis
35
// pTheta Polar angle of the line joining the centres of the faces
36
// at -/+pDz
37
// pPhi Azimuthal angle of the line joing the centre of the face at
38
// -pDz to the centre of the face at +pDz
39
// pDy1 Half-length along y of the face at -pDz
40
// pDx1 Half-length along x of the side at y=-pDy1 of the face at -pDz
41
// pDx2 Half-length along x of the side at y=+pDy1 of the face at -pDz
42
//
43
// pDy2 Half-length along y of the face at +pDz
44
// pDx3 Half-length along x of the side at y=-pDy2 of the face at +pDz
45
// pDx4 Half-length along x of the side at y=+pDy2 of the face at +pDz
46
// pAlph Angle with respect to the y axis from the centre of the side
47
//
48
//
49
// A special regular case of a trapezoid with equal endcaps is available,
50
// with polar,azimuthal and tilt angles set to zero.
51
//
52
53
// Author: 27-Oct-2004 - O.Link (Oliver.Link@cern.ch)
54
// --------------------------------------------------------------------
55
#ifndef G4TWISTEDTRAP_HH
56
#define G4TWISTEDTRAP_HH
57
58
#include "
G4VTwistedFaceted.hh
"
59
60
class
G4TwistedTrap
:
public
G4VTwistedFaceted
61
{
62
public
:
// with description
63
64
G4TwistedTrap
(
const
G4String
& pName,
65
G4double
pPhiTwist,
66
G4double
pDx1,
// half x length at -pDz,-pDy
67
G4double
pDx2,
// half x length at -pDz,+pDy
68
G4double
pDy,
69
G4double
pDz);
70
71
72
G4TwistedTrap
(
const
G4String
& pName,
// Name of instance
73
G4double
pPhiTwist,
// twist angle
74
G4double
pDz,
// half z length
75
G4double
pTheta,
// direction between end planes
76
G4double
pPhi,
// defined by polar and azim. angles
77
G4double
pDy1,
// half y length at -pDz
78
G4double
pDx1,
// half x length at -pDz,-pDy
79
G4double
pDx2,
// half x length at -pDz,+pDy
80
G4double
pDy2,
// half y length at +pDz
81
G4double
pDx3,
// half x length at +pDz,-pDy
82
G4double
pDx4,
// half x length at +pDz,+pDy
83
G4double
pAlph
// tilt angle
84
);
85
86
virtual
~G4TwistedTrap
();
87
88
// accessors
89
90
inline
G4double
GetY1HalfLength
()
const
{
return
GetDy1
() ; }
91
inline
G4double
GetX1HalfLength
()
const
{
return
GetDx1
() ; }
92
inline
G4double
GetX2HalfLength
()
const
{
return
GetDx2
() ; }
93
inline
G4double
GetY2HalfLength
()
const
{
return
GetDy2
() ; }
94
inline
G4double
GetX3HalfLength
()
const
{
return
GetDx3
() ; }
95
inline
G4double
GetX4HalfLength
()
const
{
return
GetDx4
() ; }
96
inline
G4double
GetZHalfLength
()
const
{
return
GetDz
() ; }
97
inline
G4double
GetPhiTwist
()
const
{
return
GetTwistAngle
() ; }
98
inline
G4double
GetTiltAngleAlpha
()
const
{
return
GetAlpha
() ; }
99
inline
G4double
GetPolarAngleTheta
()
const
{
return
GetTheta
() ; }
100
inline
G4double
GetAzimuthalAnglePhi
()
const
{
return
GetPhi
() ; }
101
102
G4GeometryType
GetEntityType
()
const
;
103
104
G4VSolid
*
Clone
()
const
;
105
106
std::ostream &
StreamInfo
(std::ostream& os)
const
;
107
108
public
:
// without description
109
110
G4TwistedTrap
(__void__&);
111
// Fake default constructor for usage restricted to direct object
112
// persistency for clients requiring preallocation of memory for
113
// persistifiable objects.
114
115
G4TwistedTrap
(
const
G4TwistedTrap
& rhs);
116
G4TwistedTrap
&
operator=
(
const
G4TwistedTrap
& rhs);
117
// Copy constructor and assignment operator.
118
} ;
119
120
#endif
geant4
tree
geant4-10.6-release
source
geometry
solids
specific
include
G4TwistedTrap.hh
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:19
using
1.8.2 with
ECCE GitHub integration