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.cc
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file G4TwistedTrap.cc
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 implementation
27
//
28
// Author: 10/11/2004 - O.Link (Oliver.Link@cern.ch)
29
// --------------------------------------------------------------------
30
31
#include "
G4TwistedTrap.hh
"
32
#include "
G4SystemOfUnits.hh
"
33
#include "
G4Polyhedron.hh
"
34
35
//=====================================================================
36
//* Constructors ------------------------------------------------------
37
38
G4TwistedTrap::G4TwistedTrap
(
const
G4String
& pName,
39
G4double
pPhiTwist,
40
G4double
pDx1,
41
G4double
pDx2,
42
G4double
pDy,
43
G4double
pDz )
44
:
G4VTwistedFaceted
( pName, pPhiTwist,pDz,0.,0.,
45
pDy, pDx1, pDx2, pDy, pDx1, pDx2,0. )
46
{
47
}
48
49
G4TwistedTrap::
50
G4TwistedTrap
(
const
G4String
& pName,
// Name of instance
51
G4double
pPhiTwist,
// twist angle
52
G4double
pDz,
// half z length
53
G4double
pTheta,
// direction between end planes
54
G4double
pPhi,
// defined by polar and azimuthal angles
55
G4double
pDy1,
// half y length at -pDz
56
G4double
pDx1,
// half x length at -pDz,-pDy
57
G4double
pDx2,
// half x length at -pDz,+pDy
58
G4double
pDy2,
// half y length at +pDz
59
G4double
pDx3,
// half x length at +pDz,-pDy
60
G4double
pDx4,
// half x length at +pDz,+pDy
61
G4double
pAlph )
// tilt angle
62
:
G4VTwistedFaceted
( pName, pPhiTwist, pDz, pTheta,
63
pPhi, pDy1, pDx1, pDx2, pDy2, pDx3, pDx4, pAlph )
64
{
65
}
66
67
//=====================================================================
68
// Fake default constructor - sets only member data and allocates memory
69
// for usage restricted to object persistency.
70
71
G4TwistedTrap::G4TwistedTrap
( __void__&
a
)
72
:
G4VTwistedFaceted
(a)
73
{
74
}
75
76
//=====================================================================
77
//* Destructor --------------------------------------------------------
78
79
G4TwistedTrap::~G4TwistedTrap
()
80
{
81
}
82
83
//=====================================================================
84
//* Copy constructor --------------------------------------------------
85
86
G4TwistedTrap::G4TwistedTrap
(
const
G4TwistedTrap
& rhs)
87
:
G4VTwistedFaceted
(rhs)
88
{
89
fpPolyhedron
=
GetPolyhedron
();
90
}
91
92
//=====================================================================
93
//* Assignment operator -----------------------------------------------
94
95
G4TwistedTrap
&
G4TwistedTrap::operator =
(
const
G4TwistedTrap
& rhs)
96
{
97
// Check assignment to self
98
//
99
if
(
this
== &rhs) {
return
*
this
; }
100
101
// Copy base class data
102
//
103
G4VTwistedFaceted::operator=
(rhs);
104
fpPolyhedron
=
GetPolyhedron
();
105
106
return
*
this
;
107
}
108
109
//=====================================================================
110
//* StreamInfo --------------------------------------------------------
111
112
std::ostream&
G4TwistedTrap::StreamInfo
(std::ostream& os)
const
113
{
114
//
115
// Stream object contents to an output stream
116
//
117
os <<
"-----------------------------------------------------------\n"
118
<<
" *** Dump for solid - "
<<
GetName
() <<
" ***\n"
119
<<
" ===================================================\n"
120
<<
" Solid type: G4TwistedTrap\n"
121
<<
" Parameters: \n"
122
<<
" Twist angle = "
<<
GetPhiTwist
()/
degree
<<
" deg"
123
<<
G4endl
124
<<
" Polar Angle Theta = "
<<
GetPolarAngleTheta
()/
degree
<<
" deg"
125
<<
G4endl
126
<<
" Azimuthal Angle Phi = "
<<
GetAzimuthalAnglePhi
()/
degree
<<
" deg"
127
<<
G4endl
128
<<
" pDy1 = "
<<
GetY1HalfLength
()/
cm
<<
" cm"
<<
G4endl
129
<<
" pDx1 = "
<<
GetX1HalfLength
()/
cm
<<
" cm"
<<
G4endl
130
<<
" pDx2 = "
<<
GetX2HalfLength
()/
cm
<<
" cm"
<<
G4endl
131
<<
" pDy2 = "
<<
GetY2HalfLength
()/
cm
<<
" cm"
<<
G4endl
132
<<
" pDx3 = "
<<
GetX3HalfLength
()/
cm
<<
" cm"
<<
G4endl
133
<<
" pDx4 = "
<<
GetX4HalfLength
()/
cm
<<
" cm"
<<
G4endl
134
<<
" pDz = "
<<
GetZHalfLength
()/
cm
<<
" cm"
<<
G4endl
135
<<
" Tilt Angle Alpha = "
<<
GetTiltAngleAlpha
()/
degree
<<
" deg"
136
<<
G4endl
137
<<
"-----------------------------------------------------------\n"
;
138
139
return
os;
140
}
141
142
//=====================================================================
143
//* GetEntityType -----------------------------------------------------
144
145
G4GeometryType
G4TwistedTrap::GetEntityType
()
const
146
{
147
return
G4String
(
"G4TwistedTrap"
);
148
}
149
150
//=====================================================================
151
//* Clone -------------------------------------------------------------
152
153
G4VSolid
*
G4TwistedTrap::Clone
()
const
154
{
155
return
new
G4TwistedTrap
(*
this
);
156
}
geant4
tree
geant4-10.6-release
source
geometry
solids
specific
src
G4TwistedTrap.cc
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:20
using
1.8.2 with
ECCE GitHub integration