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
ECCE @ EIC Software
Deprecated List
Modules
Namespaces
Classes
Files
File List
acts
blob
master
CI
Core
include
Acts
EventData
Fitter
Geometry
MagneticField
Material
Propagator
Seeding
Surfaces
detail
AnnulusBounds.hpp
BoundaryCheck.hpp
ConeBounds.hpp
ConeSurface.hpp
ConvexPolygonBounds.hpp
ConvexPolygonBounds.ipp
CylinderBounds.hpp
CylinderSurface.hpp
DiamondBounds.hpp
DiscBounds.hpp
DiscSurface.hpp
DiscTrapezoidBounds.hpp
EllipseBounds.hpp
InfiniteBounds.hpp
LineBounds.hpp
LineSurface.hpp
PerigeeSurface.hpp
PlanarBounds.hpp
PlaneSurface.hpp
RadialBounds.hpp
RectangleBounds.hpp
StrawSurface.hpp
Surface.hpp
SurfaceArray.hpp
SurfaceBounds.hpp
TrapezoidBounds.hpp
TrackFinder
Utilities
Vertexing
Visualization
src
doc
Examples
Fatras
Plugins
Tests
thirdparty
analysis
coresoftware
Doxygen_Assist
ecce-detectors
fun4all_eicdetectors
geant4
macros
online_distribution
tutorials
doxygen_mainpage.h
File Members
External Links
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
PlaneSurface.hpp
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file PlaneSurface.hpp
1
// This file is part of the Acts project.
2
//
3
// Copyright (C) 2016-2020 CERN for the benefit of the Acts project
4
//
5
// This Source Code Form is subject to the terms of the Mozilla Public
6
// License, v. 2.0. If a copy of the MPL was not distributed with this
7
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
8
9
#pragma once
10
11
#include <limits>
12
#include "
Acts/Geometry/GeometryContext.hpp
"
13
#include "
Acts/Geometry/GeometryStatics.hpp
"
14
#include "
Acts/Geometry/Polyhedron.hpp
"
15
#include "
Acts/Surfaces/InfiniteBounds.hpp
"
16
#include "
Acts/Surfaces/PlanarBounds.hpp
"
17
#include "
Acts/Surfaces/Surface.hpp
"
18
#include "
Acts/Surfaces/detail/PlanarHelper.hpp
"
19
#include "
Acts/Utilities/Definitions.hpp
"
20
21
namespace
Acts {
22
23
class
DetectorElementBase;
24
34
class
PlaneSurface
:
public
Surface
{
35
friend
Surface
;
36
37
protected
:
39
PlaneSurface
();
40
44
PlaneSurface
(
const
PlaneSurface
& other);
45
51
PlaneSurface
(
const
GeometryContext
&
gctx
,
const
PlaneSurface
& other,
52
const
Transform3D
& transf);
53
59
PlaneSurface
(
const
Vector3D
&
center
,
const
Vector3D
&
normal
);
60
65
PlaneSurface
(
const
std::shared_ptr<const PlanarBounds>& pbounds,
66
const
DetectorElementBase
& detelement);
67
72
PlaneSurface
(std::shared_ptr<const Transform3D> htrans,
73
std::shared_ptr<const PlanarBounds> pbounds =
nullptr
);
74
75
public
:
77
~PlaneSurface
()
override
=
default
;
78
82
PlaneSurface
&
operator=
(
const
PlaneSurface
& other);
83
90
const
Vector3D
normal
(
const
GeometryContext
&
gctx
,
91
const
Vector2D
& lposition)
const
final
;
92
94
using
Surface::normal
;
95
103
const
Vector3D
binningPosition
(
const
GeometryContext
&
gctx
,
104
BinningValue
bValue)
const
final
;
105
107
SurfaceType
type
()
const override
;
108
110
const
SurfaceBounds
&
bounds
()
const override
;
111
121
void
localToGlobal
(
const
GeometryContext
&
gctx
,
const
Vector2D
& lposition,
122
const
Vector3D
&
momentum
,
123
Vector3D
&
position
)
const override
;
124
138
bool
globalToLocal
(
const
GeometryContext
&
gctx
,
const
Vector3D
&
position
,
139
const
Vector3D
&
momentum
,
140
Vector2D
& lposition)
const override
;
141
150
double
pathCorrection
(
const
GeometryContext
&
gctx
,
const
Vector3D
&
position
,
151
const
Vector3D
& direction)
const
final
;
152
179
Intersection
intersectionEstimate
(
180
const
GeometryContext
&
gctx
,
const
Vector3D
&
position
,
181
const
Vector3D
& direction,
182
const
BoundaryCheck
& bcheck =
false
) const final;
183
192
Polyhedron
polyhedronRepresentation
(const
GeometryContext
& gctx,
193
size_t
lseg) const override;
194
196
std::
string
name
() const override;
197
198
protected:
200
std::
shared_ptr
<const
PlanarBounds
>
m_bounds
;
201
202
private:
203
};
204
205
#include "Acts/Surfaces/detail/PlaneSurface.ipp"
206
207
}
// end of namespace Acts
acts
blob
master
Core
include
Acts
Surfaces
PlaneSurface.hpp
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:24:21
using
1.8.2 with
ECCE GitHub integration