16#ifndef ROOT7_RPadLength
17#define ROOT7_RPadLength
24namespace Experimental {
38 template <
class DERIVED>
187 if (
lhs.HasUser() ||
rhs.HasUser())
189 if (
lhs.HasPixel() ||
rhs.HasPixel())
191 if (
lhs.HasNormal() ||
rhs.HasNormal())
200 if (
lhs.HasUser() ||
rhs.HasUser())
202 if (
lhs.HasPixel() ||
rhs.HasPixel())
204 if (
lhs.HasNormal() ||
rhs.HasNormal())
258 if(std::fabs(
GetPixel() -
rhs.GetPixel()) > 1
e-4)
return false;
260 if (std::fabs(
GetNormal() -
rhs.GetNormal()) > 1
e-6)
return false;
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
RPadLength & SetNormal(double v)
friend RPadLength operator+(RPadLength lhs, const RPadLength &rhs)
Add two RPadLengths.
friend RPadLength operator-(RPadLength lhs, const RPadLength &rhs)
Subtract two RPadLengths.
RPadLength(User user)
Constructor from a User coordinate.
std::string AsString() const
Converts RPadLength to string like "0.1 + 25px" User coordinates not (yet) supported.
RPadLength(Normal normal, Pixel px, User user)
Constructor for normal, pixel and user coordinate.
RPadLength(Normal normal)
Constructor from a Normal coordinate.
RPadLength(Pixel px)
Constructor from a Pixel coordinate.
bool operator==(const RPadLength &rhs) const
Compare a RPadLength.
RPadLength & operator-=(const RPadLength &rhs)
Subtract a RPadLength.
RPadLength & SetPixel(double v)
RPadLength(double normal)
By default all numeric values are normal values.
bool ParseString(const std::string &val)
Parse string and fill RPadLength attributes String can be like "0.1 + 25px" User coordinates not (yet...
RPadLength operator-()
Unary -.
RPadLength & SetUser(double v)
RPadLength & operator*=(double scale)
Multiply a RPadLength.
std::vector< double > fArr
components [0] - normalized, [1] - pixel, [2] - user
RPadLength(const std::string &csscode)
Constructor from string representation.
RPadLength & operator+=(const RPadLength &rhs)
Add a RPadLength.
RPadLength(Normal normal, Pixel px)
Constructor for normal and pixel coordinate.
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...
friend bool operator>=(const DERIVED &lhs, const DERIVED &rhs)
friend double operator/(DERIVED lhs, DERIVED rhs)
friend bool operator<=(const DERIVED &lhs, const DERIVED &rhs)
friend DERIVED operator*(double lhs, const DERIVED &rhs)
friend bool operator>(const DERIVED &lhs, const DERIVED &rhs)
friend DERIVED operator*(const DERIVED &lhs, double rhs)
friend DERIVED operator/(const DERIVED &lhs, double rhs)
DERIVED & operator+=(const DERIVED &rhs)
friend DERIVED operator+(DERIVED lhs, DERIVED rhs)
DERIVED & operator*=(double scale)
friend DERIVED operator-(DERIVED lhs, DERIVED rhs)
friend bool operator<(const DERIVED &lhs, const DERIVED &rhs)
DERIVED & operator-=(const DERIVED &rhs)
double fVal
! Coordinate value