CMS 3D CMS Logo

MSLayersAtAngle.h
Go to the documentation of this file.
1 #ifndef MSLayersAtAngle_H
2 #define MSLayersAtAngle_H
3 
8 #include <vector>
9 #include <cmath>
11 
13 
14 class PixelRecoLineRZ;
15 
17 public:
19  MSLayersAtAngle(const std::vector<MSLayer>& layers);
20  void update(const MSLayer& layer);
21  const MSLayer* findLayer(const MSLayer& layer) const;
22 
23  float sumX0D(const PixelRecoPointRZ& pointI, const PixelRecoPointRZ& pointO) const;
24 
25  float sumX0D(int il, int ol, const PixelRecoPointRZ& pointI, const PixelRecoPointRZ& pointO) const;
26 
27  float sumX0D(const PixelRecoPointRZ& pointI, const PixelRecoPointRZ& pointM, const PixelRecoPointRZ& pointO) const;
28 
29  // as used in seeding
30  // z at beamline, point on two layers
31  float sumX0D(float zV, int il, int ol, const PixelRecoPointRZ& pointI, const PixelRecoPointRZ& pointO) const;
32 
33  int size() const { return theLayers.size(); }
34  void print() const;
35 
36 private:
37  std::vector<MSLayer> theLayers;
38  std::vector<int> indeces;
39 
40 private:
41  void init();
42 
43  typedef std::vector<MSLayer>::const_iterator LayerItr;
45  float sum2RmRn(LayerItr i1, LayerItr i2, float rTarget, const SimpleLineRZ& line) const;
46 };
47 
48 #endif
std::vector< int > indeces
std::vector< MSLayer > theLayers
int init
Definition: HydjetWrapper.h:64
constexpr std::array< uint8_t, layerIndexSize > layer
void print(TMatrixD &m, const char *label=nullptr, bool mathematicaFormat=false)
Definition: Utilities.cc:47
int size() const
std::vector< MSLayer >::const_iterator LayerItr
#define dso_hidden
Definition: Visibility.h:12
#define update(a, b)
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5
constexpr uint8_t findLayer(uint32_t detId, uint8_t sl=0)