CMS 3D CMS Logo

SymmetricLayerFinder.h
Go to the documentation of this file.
1 #ifndef TkNavigation_SymmetricLayerFinder_H
2 #define TkNavigation_SymmetricLayerFinder_H
4 
5 #include <vector>
6 #include <map>
7 
8 class DetLayer;
9 class BarrelDetLayer;
10 class ForwardDetLayer;
11 
18  typedef std::vector<const ForwardDetLayer*> FDLC;
19  typedef FDLC::iterator FDLI;
20  typedef FDLC::const_iterator ConstFDLI;
21  typedef std::pair<const ForwardDetLayer*, const ForwardDetLayer*> PairType;
22 
23 public:
24  SymmetricLayerFinder(const FDLC&);
25 
26  const ForwardDetLayer* mirror(const ForwardDetLayer* layer) { return theForwardMap[layer]; }
27 
28  FDLC mirror(const FDLC& input);
29 
30 private:
31  // typedef map< const ForwardDetLayer*, const ForwardDetLayer*, less<const ForwardDetLayer*> >
32  typedef std::map<const ForwardDetLayer*, const ForwardDetLayer*, std::less<const ForwardDetLayer*> > ForwardMapType;
33 
35 
36  const ForwardDetLayer* mirrorPartner(const ForwardDetLayer* layer, const FDLC& rightLayers);
37 };
38 #endif // SymmetricLayerFinder_H
const ForwardDetLayer * mirror(const ForwardDetLayer *layer)
static std::string const input
Definition: EdmProvDump.cc:50
constexpr std::array< uint8_t, layerIndexSize< TrackerTraits > > layer
ForwardMapType theForwardMap
#define dso_hidden
Definition: Visibility.h:12
std::map< const ForwardDetLayer *, const ForwardDetLayer *, std::less< const ForwardDetLayer * > > ForwardMapType
std::pair< const ForwardDetLayer *, const ForwardDetLayer * > PairType
std::vector< const ForwardDetLayer * > FDLC
FDLC::const_iterator ConstFDLI