CMS 3D CMS Logo

CAGraph.h
Go to the documentation of this file.
1 #ifndef RECOPIXELVERTEXING_PIXELTRIPLETS_CAGRAPH_H_
2 #define RECOPIXELVERTEXING_PIXELTRIPLETS_CAGRAPH_H_
3 
4 #include <vector>
5 #include <array>
6 #include <string>
7 #include <queue>
8 #include <functional>
9 #include "CACell.h"
10 
11 struct CALayer
12 {
13  CALayer(const std::string& layerName, std::size_t numberOfHits )
14  : theName(layerName)
15  {
16  isOuterHitOfCell.resize(numberOfHits);
17  }
18 
19  bool operator==(const std::string& otherString)
20  {
21  return otherString == theName;
22  }
23 
24  std::string name() const
25  {
26  return theName;
27  }
28 
29  std::vector<int> theOuterLayerPairs;
30  std::vector<int> theInnerLayerPairs;
31 
32  std::vector<int> theOuterLayers;
33  std::vector<int> theInnerLayers;
34  std::vector< std::vector<CACell*> > isOuterHitOfCell;
35 
36 
37 private:
38 
40 };
41 
43 {
44 
45  CALayerPair(int a, int b)
46 
47  {
48  theLayers[0] = a;
49  theLayers[1] = b;
50  }
51 
52 
53 
54  bool operator==(const CALayerPair& otherLayerPair)
55  {
56  return (theLayers[0] == otherLayerPair.theLayers[0])
57  && (theLayers[1] == otherLayerPair.theLayers[1]);
58  }
59 
60  std::array<int, 2> theLayers;
61  std::vector<CACell> theFoundCells;
62 
63 };
64 
65 struct CAGraph
66 {
67  std::vector<CALayer> theLayers;
68  std::vector<CALayerPair> theLayerPairs;
69  std::vector<int> theRootLayers;
70 
71 };
72 
73 #endif /* CAGRAPH_H_ */
CALayerPair(int a, int b)
Definition: CAGraph.h:45
CALayer(const std::string &layerName, std::size_t numberOfHits)
Definition: CAGraph.h:13
bool operator==(const std::string &otherString)
Definition: CAGraph.h:19
std::array< int, 2 > theLayers
Definition: CAGraph.h:60
std::vector< int > theOuterLayerPairs
Definition: CAGraph.h:29
std::string theName
Definition: CAGraph.h:39
bool operator==(const CALayerPair &otherLayerPair)
Definition: CAGraph.h:54
std::vector< CALayer > theLayers
Definition: CAGraph.h:67
std::string name() const
Definition: CAGraph.h:24
std::vector< CALayerPair > theLayerPairs
Definition: CAGraph.h:68
double b
Definition: hdecay.h:120
std::vector< CACell > theFoundCells
Definition: CAGraph.h:61
std::vector< int > theInnerLayers
Definition: CAGraph.h:33
double a
Definition: hdecay.h:121
std::vector< int > theRootLayers
Definition: CAGraph.h:69
std::vector< std::vector< CACell * > > isOuterHitOfCell
Definition: CAGraph.h:34
std::vector< int > theInnerLayerPairs
Definition: CAGraph.h:30
std::vector< int > theOuterLayers
Definition: CAGraph.h:32