Skip to content
Snippets Groups Projects
Commit df502c0e authored by Frank Winklmeier's avatar Frank Winklmeier
Browse files

Revert "Merge branch 'DistanceSolution_default_move_inline_to_icc' into 'master'"

This reverts merge request !39259
parent 411eebbc
No related branches found
No related tags found
No related merge requests found
......@@ -9,7 +9,9 @@
#ifndef TRKSURFACES_DISTANCESOLUTION_H
#define TRKSURFACES_DISTANCESOLUTION_H
#include <cmath>
// STD
#include <iostream>
#include <math.h>
namespace Trk {
......@@ -24,19 +26,14 @@ namespace Trk {
class DistanceSolution
{
public:
DistanceSolution() = default;
DistanceSolution(const DistanceSolution&) = default;
DistanceSolution(DistanceSolution&&) = default;
DistanceSolution& operator=(const DistanceSolution&) = default;
DistanceSolution& operator=(DistanceSolution&&) = default;
~DistanceSolution() = default;
/**Constructor*/
DistanceSolution(int num,
double current = 0.,
bool signedDist = false,
double first = 0.,
double second = 0.);
/**Default Constructor*/
DistanceSolution();
/**Constructor*/
DistanceSolution(int num, double current = 0., bool signedDist = false, double first = 0., double second = 0.);
/**Destructor*/
virtual ~DistanceSolution() = default;
// methods to access solutions
/** Number of intersection solutions*/
......@@ -45,8 +42,7 @@ public:
/** Distance to first intersection solution along direction*/
double first() const;
/** Distance to second intersection solution along direction (for a cylinder
* surface)*/
/** Distance to second intersection solution along direction (for a cylinder surface)*/
double second() const;
/** Absolute Distance to closest solution */
......@@ -55,15 +51,14 @@ public:
/** Distance to point of closest approach along direction*/
double toPointOfClosestApproach() const;
/** Current distance to surface (spatial), signed (along/opposite to surface
* normal) if input argument true (absolute value by default)*/
/** Current distance to surface (spatial), signed (along/opposite to surface normal) if input argument true (absolute
* value by default)*/
double currentDistance(bool signedDist = false) const;
/** This method indicates availability of signed current distance (false for
* Perigee and StraighLineSurface) */
/** This method indicates availability of signed current distance (false for Perigee and StraighLineSurface) */
bool signedDistance() const;
private:
protected:
int m_num;
double m_first;
double m_second;
......@@ -71,7 +66,54 @@ private:
bool m_signedDist;
};
inline int
DistanceSolution::numberOfSolutions() const
{
return m_num;
}
inline double
DistanceSolution::first() const
{
return m_first;
}
inline double
DistanceSolution::second() const
{
return m_second;
}
inline double
DistanceSolution::absClosest() const
{
if (m_num > 1)
return (m_first * m_first < m_second * m_second) ? fabs(m_first) : fabs(m_second);
else
return fabs(m_first);
}
inline double
DistanceSolution::toPointOfClosestApproach() const
{
return m_first;
}
inline double
DistanceSolution::currentDistance(bool signedDist) const
{
if (signedDist)
return m_current;
else
return fabs(m_current);
}
inline bool
DistanceSolution::signedDistance() const
{
return m_signedDist;
}
} // end of namespace
#include "TrkSurfaces/DistanceSolution.icc"
#endif // TRKSURFACES_DISTANCESOLUTION_H
/*
Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
*/
namespace Trk {
inline DistanceSolution::DistanceSolution(int num,
double current,
bool signedDist,
double first,
double second)
: m_num(num)
, m_first(first)
, m_second(second)
, m_current(current)
, m_signedDist(signedDist)
{}
inline int
DistanceSolution::numberOfSolutions() const
{
return m_num;
}
inline double
DistanceSolution::first() const
{
return m_first;
}
inline double
DistanceSolution::second() const
{
return m_second;
}
inline double
DistanceSolution::absClosest() const
{
if (m_num > 1) {
return (m_first * m_first < m_second * m_second) ? std::abs(m_first)
: std::abs(m_second);
} else {
return std::abs(m_first);
}
}
inline double
DistanceSolution::toPointOfClosestApproach() const
{
return m_first;
}
inline double
DistanceSolution::currentDistance(bool signedDist) const
{
if (signedDist) {
return m_current;
} else {
return std::abs(m_current);
}
}
inline bool
DistanceSolution::signedDistance() const
{
return m_signedDist;
}
} // end of namespace
/*
Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
*/
///////////////////////////////////////////////////////////////////
// DistanceSolution.cxx, (c) ATLAS Detector Software
///////////////////////////////////////////////////////////////////
// Trk
#include "TrkSurfaces/DistanceSolution.h"
// default constructor
Trk::DistanceSolution::DistanceSolution()
: m_num()
, m_first()
, m_second()
, m_current()
, m_signedDist()
{}
// constructor
Trk::DistanceSolution::DistanceSolution(int num, double current, bool signedDist, double first, double second)
: m_num(num)
, m_first(first)
, m_second(second)
, m_current(current)
, m_signedDist(signedDist)
{}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment