IAP GITLAB

Commit cfe2a28d by Ralf Ulrich

### PhysicalGeometry

parent 896d611b
Pipeline #3483 passed with stages
in 64 minutes and 30 seconds
 ... @@ -26,7 +26,7 @@ namespace corsika { ... @@ -26,7 +26,7 @@ namespace corsika { inline Point const& Plane::getCenter() const { return center_; } inline Point const& Plane::getCenter() const { return center_; } inline Plane::DimLessVec const& Plane::getNormal() const { return normal_; } inline DirectionVector const& Plane::getNormal() const { return normal_; } inline std::string Plane::asString() const { inline std::string Plane::asString() const { std::ostringstream txt; std::ostringstream txt; ... ...
 ... @@ -20,6 +20,21 @@ ... @@ -20,6 +20,21 @@ namespace corsika { namespace corsika { /** * A 3D vector defined in a specific coordinate system with units HEPMomentumType **/ typedef Vector MomentumVector; typedef Vector MomentumVector; /** * A 3D vector defined in a specific coordinate system with no units. But, note, this is * not automatically normaliyed! It is not a "NormalVector". **/ typedef Vector DirectionVector; /** * A 3D vector defined in a specific coordinate system with units "velocity_t". * **/ typedef Vector VelocityVector; } // namespace corsika } // namespace corsika
 ... @@ -8,11 +8,13 @@ ... @@ -8,11 +8,13 @@ #pragma once #pragma once #include #include #include #include #include #include #include #include #include namespace corsika { namespace corsika { /*! /*! ... @@ -31,12 +33,9 @@ namespace corsika { ... @@ -31,12 +33,9 @@ namespace corsika { class Helix { class Helix { ///! \todo move VelocityVec into PhysicalUnits using VelocityVec = Vector; public: public: Helix(Point const& pR0, FrequencyType pOmegaC, VelocityVec const& pvPar, Helix(Point const& pR0, FrequencyType pOmegaC, VelocityVector const& pvPar, VelocityVec const& pvPerp) VelocityVector const& pvPerp) : r0_(pR0) : r0_(pR0) , omegaC_(pOmegaC) , omegaC_(pOmegaC) , vPar_(pvPar) , vPar_(pvPar) ... @@ -48,7 +47,7 @@ namespace corsika { ... @@ -48,7 +47,7 @@ namespace corsika { Point getPosition(TimeType const t) const; Point getPosition(TimeType const t) const; VelocityVec getVelocity(TimeType const t) const; VelocityVector getVelocity(TimeType const t) const; Point getPositionFromArclength(LengthType const l) const; Point getPositionFromArclength(LengthType const l) const; ... @@ -60,8 +59,8 @@ namespace corsika { ... @@ -60,8 +59,8 @@ namespace corsika { Point r0_; ///! origin of helix, but this is in the center of the Point r0_; ///! origin of helix, but this is in the center of the ///! "cylinder" on which the helix rotates ///! "cylinder" on which the helix rotates FrequencyType omegaC_; ///! speed of angular rotation FrequencyType omegaC_; ///! speed of angular rotation VelocityVec vPar_; ///! speed along direction of "cylinder" VelocityVector vPar_; ///! speed along direction of "cylinder" VelocityVec vPerp_, uPerp_; VelocityVector vPerp_, uPerp_; LengthType radius_; LengthType radius_; }; }; ... ...
 ... @@ -9,6 +9,7 @@ ... @@ -9,6 +9,7 @@ #pragma once #pragma once #include #include #include #include #include #include #include ... @@ -18,27 +19,24 @@ namespace corsika { ... @@ -18,27 +19,24 @@ namespace corsika { class Plane { class Plane { ///! \todo move to PhysicalUnits using DimLessVec = Vector; public: public: Plane(Point const& vCenter, DimLessVec const& vNormal) Plane(Point const& vCenter, DirectionVector const& vNormal) : center_(vCenter) : center_(vCenter) , normal_(vNormal.normalized()) {} , normal_(vNormal.normalized()) {} bool isAbove(Point const& vP) const; bool isAbove(Point const& vP) const; LengthType getDistanceTo(corsika::Point const& vP) const; LengthType getDistanceTo(Point const& vP) const; Point const& getCenter() const; Point const& getCenter() const; DimLessVec const& getNormal() const; DirectionVector const& getNormal() const; std::string asString() const; std::string asString() const; public: public: Point const center_; Point const center_; DimLessVec const normal_; DirectionVector const normal_; }; }; } // namespace corsika } // namespace corsika ... ...
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!