ATLAS Offline Software
CompactBinnedArray.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // CompactBinnedArray.h, (c) ATLAS Detector software
8 
9 #ifndef TRKDETDESCRUTILS_COMPACTBINNEDARRAY_H
10 #define TRKDETDESCRUTILS_COMPACTBINNEDARRAY_H
11 
14 
15 // STL
16 #include <vector>
17 
18 class MsgStream;
19 
20 namespace Trk {
21 
29 template<class T>
31 {
32 
33 public:
36  : BinnedArray<T>()
37  {}
38 
40  virtual ~CompactBinnedArray() {}
41 
43  virtual CompactBinnedArray* clone() const = 0;
44  virtual CompactBinnedArray* clone(const std::vector<T*>& ptrs) const = 0;
45 
47  virtual const Trk::BinUtility* layerBinUtility(const Amg::Vector3D& gp) const = 0;
48 
50  virtual size_t layerBin(const Amg::Vector3D& gp) const = 0;
51 };
52 
53 } // end of namespace Trk
54 #endif // TRKDETDESCRUTILS_COMPACTBINNEDARRAY_H
Trk::CompactBinnedArray::layerBinUtility
virtual const Trk::BinUtility * layerBinUtility(const Amg::Vector3D &gp) const =0
layer bin utility
BinnedArray.h
BinUtility.h
Trk::CompactBinnedArray::~CompactBinnedArray
virtual ~CompactBinnedArray()
Virtual Destructor.
Definition: CompactBinnedArray.h:40
Trk::CompactBinnedArray
Definition: CompactBinnedArray.h:31
Trk::CompactBinnedArray::CompactBinnedArray
CompactBinnedArray()
Default Constructor - needed for inherited classes.
Definition: CompactBinnedArray.h:35
Trk::CompactBinnedArray::clone
virtual CompactBinnedArray * clone(const std::vector< T * > &ptrs) const =0
Trk::CompactBinnedArray::clone
virtual CompactBinnedArray * clone() const =0
Implicit constructor.
Trk::BinUtility
Definition: BinUtility.h:39
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
Trk::CompactBinnedArray::layerBin
virtual size_t layerBin(const Amg::Vector3D &gp) const =0
layer bin
Trk::BinnedArray
Definition: BinnedArray.h:38