CORSIKA
@c8_version@
The framework to simulate particle cascades for astroparticle physics
Plane.hpp
1
/*
2
* (c) Copyright 2020 CORSIKA Project, corsika-project@lists.kit.edu
3
*
4
* This software is distributed under the terms of the GNU General Public
5
* Licence version 3 (GPL Version 3). See file LICENSE for a full version of
6
* the license.
7
*/
8
9
#pragma once
10
11
#include <
corsika/framework/core/PhysicalUnits.hpp
>
12
#include <corsika/framework/core/PhysicalGeometry.hpp>
13
#include <corsika/framework/geometry/Point.hpp>
14
#include <corsika/framework/geometry/Vector.hpp>
15
16
#include <string>
17
18
namespace
corsika
{
19
20
class
Plane
{
21
22
public
:
23
Plane
(
Point
const
& vCenter,
DirectionVector
const
& vNormal)
24
: center_(vCenter)
25
, normal_(vNormal.normalized()) {}
26
27
bool
isAbove(
Point
const
& vP)
const
;
28
29
LengthType
getDistanceTo(
Point
const
& vP)
const
;
30
31
Point
const
& getCenter()
const
;
32
33
DirectionVector
const
& getNormal()
const
;
34
35
std::string asString()
const
;
36
37
public
:
38
Point
const
center_;
39
DirectionVector
const
normal_;
40
};
41
42
}
// namespace corsika
43
44
#include <corsika/detail/framework/geometry/Plane.inl>
corsika::Point
Definition:
Point.hpp:22
PhysicalUnits.hpp
Import and extend the phys::units package.
phys::units::quantity< phys::units::length_d, double >
corsika
`, since they are used everywhere as integral part of the framework.
Definition:
BoundaryCrossingProcess.hpp:14
corsika::Vector< dimensionless_d >
corsika::Plane
Definition:
Plane.hpp:20
corsika
framework
geometry
Plane.hpp
Generated by
1.8.13