ATLAS Offline Software
Loading...
Searching...
No Matches
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
26namespace Trk {
27
35
37{
38
39public:
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
66protected:
67 int m_value=0;
68};
69
70inline int
72{
73 return m_value;
74}
75
77bool
78operator<(const LayerIndex& one, const LayerIndex& two);
79bool
80operator<=(const LayerIndex& one, const LayerIndex& two);
81bool
82operator>(const LayerIndex& one, const LayerIndex& two);
83bool
84operator>=(const LayerIndex& one, const LayerIndex& two);
85
88MsgStream&
89operator<<(MsgStream& sl, const LayerIndex& layx);
90std::ostream&
91operator<<(std::ostream& sl, const LayerIndex& layx);
92}
93
94#endif
LayerIndex for the identification of layers in a simplified detector geometry of Cylinders and Discs.
Definition LayerIndex.h:37
LayerIndex(LayerIndex &&layIx)=default
Move Constructor.
LayerIndex & operator=(const LayerIndex &layIx)=default
Assignment Operator.
int value() const
layerIndex expressed in an integer
Definition LayerIndex.h:71
LayerIndex(int value)
Constructor with value.
Definition LayerIndex.h:44
LayerIndex & operator=(LayerIndex &&layIx)=default
Move Assignment Operator.
LayerIndex()=default
Default Constructor.
~LayerIndex()=default
Destructor.
LayerIndex(const LayerIndex &layIx)=default
Copy Constructor.
Ensure that the ATLAS eigen extensions are properly loaded.
bool operator<=(const LayerIndex &one, const LayerIndex &two)
MsgStream & operator<<(MsgStream &sl, const AlignModule &alignModule)
overload of << operator for MsgStream for debug output
bool operator>(const LayerIndex &one, const LayerIndex &two)
bool operator<(const LayerIndex &one, const LayerIndex &two)
Overload of operator< | <= | > | >= for the usage in a map.
bool operator>=(const LayerIndex &one, const LayerIndex &two)