ATLAS Offline Software
LayerIndex.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // LayerIndexCalculator.h, (c) ATLAS Detector software
8 
9 #ifndef TRKDETDESCRUTILS_LAYERINDEX_H
10 #define TRKDETDESCRUTILS_LAYERINDEX_H
11 
12 // Gaudi
13 #include "GaudiKernel/MsgStream.h"
14 // STD
15 #include <iostream>
16 
17 // for the robust calculation of layer indices
18 #ifndef TRKDETDESCR_GEOMETRYSIGNATUREWEIGHT
19 #define TRKDETDESCR_GEOMETRYSIGNATUREWEIGHT 10000
20 #endif
21 
22 #ifndef TRKDETDESCR_MAXROBUSTINDEX
23 #define TRKDETDESCR_MAXROBUSTINDEX 100000
24 #endif
25 
26 namespace Trk {
27 
37 {
38 
39 public:
41  LayerIndex() = default;
42 
45  : m_value(value)
46  {}
47 
49  LayerIndex(const LayerIndex& layIx) = default;
50 
52  LayerIndex(LayerIndex&& layIx) = default;
53 
55  LayerIndex& operator=(const LayerIndex& layIx) = default;
56 
58  LayerIndex& operator=(LayerIndex&& layIx) = default;
59 
61  ~LayerIndex() = default;
62 
64  int value() const;
65 
66 protected:
67  int m_value=0;
68 };
69 
70 inline int
72 {
73  return m_value;
74 }
75 
77 bool
78 operator<(const LayerIndex& one, const LayerIndex& two);
79 bool
80 operator<=(const LayerIndex& one, const LayerIndex& two);
81 bool
82 operator>(const LayerIndex& one, const LayerIndex& two);
83 bool
84 operator>=(const LayerIndex& one, const LayerIndex& two);
85 
88 MsgStream&
89 operator<<(MsgStream& sl, const LayerIndex& layx);
90 std::ostream&
91 operator<<(std::ostream& sl, const LayerIndex& layx);
92 }
93 
94 #endif
Trk::LayerIndex::operator=
LayerIndex & operator=(const LayerIndex &layIx)=default
Assignment Operator.
Trk::LayerIndex::operator=
LayerIndex & operator=(LayerIndex &&layIx)=default
Move Assignment Operator.
Trk::LayerIndex::LayerIndex
LayerIndex()=default
Default Constructor.
Trk::operator<
bool operator<(const LayerIndex &one, const LayerIndex &two)
Overload of operator< | <= | > | >= for the usage in a map.
Definition: LayerIndex.cxx:12
Trk::operator<=
bool operator<=(const LayerIndex &one, const LayerIndex &two)
Definition: LayerIndex.cxx:18
Trk::LayerIndex::~LayerIndex
~LayerIndex()=default
Destructor.
Trk::operator>
bool operator>(const LayerIndex &one, const LayerIndex &two)
Definition: LayerIndex.cxx:24
Trk::LayerIndex::LayerIndex
LayerIndex(LayerIndex &&layIx)=default
Move Constructor.
Trk::one
@ one
Definition: TrkDetDescr/TrkSurfaces/TrkSurfaces/RealQuadraticEquation.h:22
Trk::LayerIndex::m_value
int m_value
Definition: LayerIndex.h:67
Trk::two
@ two
Definition: TrkDetDescr/TrkSurfaces/TrkSurfaces/RealQuadraticEquation.h:23
Trk::LayerIndex::LayerIndex
LayerIndex(const LayerIndex &layIx)=default
Copy Constructor.
Trk::LayerIndex
Definition: LayerIndex.h:37
Trk::LayerIndex::LayerIndex
LayerIndex(int value)
Constructor with value.
Definition: LayerIndex.h:44
Trk::LayerIndex::value
int value() const
layerIndex expressed in an integer
Definition: LayerIndex.h:71
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::operator<<
MsgStream & operator<<(MsgStream &sl, const AlignModule &alignModule)
overload of << operator for MsgStream for debug output
Definition: AlignModule.cxx:204
Trk::operator>=
bool operator>=(const LayerIndex &one, const LayerIndex &two)
Definition: LayerIndex.cxx:30