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 
8 struct CALayer
9 {
10  CALayer(const std::string& layerName, std::size_t numberOfHits )
11  : theName(layerName)
12  {
13  isOuterHitOfCell.resize(numberOfHits);
14  }
15 
16  bool operator==(const std::string& otherString)
17  {
18  return otherString == theName;
19  }
20 
21  std::string name() const
22  {
23  return theName;
24  }
25 
26  std::vector<int> theOuterLayerPairs;
27  std::vector<int> theInnerLayerPairs;
28 
29  std::vector<int> theOuterLayers;
30  std::vector<int> theInnerLayers;
31  std::vector< std::vector<unsigned int> > isOuterHitOfCell;
32 
33 
34 private:
35 
37 };
38 
40 {
41 
42  CALayerPair(int a, int b)
43 
44  {
45  theLayers[0] = a;
46  theLayers[1] = b;
47  }
48 
49 
50 
51  bool operator==(const CALayerPair& otherLayerPair)
52  {
53  return (theLayers[0] == otherLayerPair.theLayers[0])
54  && (theLayers[1] == otherLayerPair.theLayers[1]);
55  }
56 
57  std::array<int, 2> theLayers;
58  std::array<unsigned int, 2> theFoundCells= {{0,0}};
59 };
60 
61 struct CAGraph
62 {
63  std::vector<CALayer> theLayers;
64  std::vector<CALayerPair> theLayerPairs;
65  std::vector<int> theRootLayers;
66 };
67 
68 #endif /* CAGRAPH_H_ */
CALayerPair(int a, int b)
Definition: CAGraph.h:42
CALayer(const std::string &layerName, std::size_t numberOfHits)
Definition: CAGraph.h:10
bool operator==(const std::string &otherString)
Definition: CAGraph.h:16
std::array< int, 2 > theLayers
Definition: CAGraph.h:57
std::vector< int > theOuterLayerPairs
Definition: CAGraph.h:26
std::string theName
Definition: CAGraph.h:36
std::vector< std::vector< unsigned int > > isOuterHitOfCell
Definition: CAGraph.h:31
bool operator==(const CALayerPair &otherLayerPair)
Definition: CAGraph.h:51
std::vector< CALayer > theLayers
Definition: CAGraph.h:63
std::string name() const
Definition: CAGraph.h:21
std::vector< CALayerPair > theLayerPairs
Definition: CAGraph.h:64
Definition: CAGraph.h:8
double b
Definition: hdecay.h:120
std::vector< int > theInnerLayers
Definition: CAGraph.h:30
double a
Definition: hdecay.h:121
std::vector< int > theRootLayers
Definition: CAGraph.h:65
std::vector< int > theInnerLayerPairs
Definition: CAGraph.h:27
std::vector< int > theOuterLayers
Definition: CAGraph.h:29