CMS 3D CMS Logo

MSLayersAtAngle.h

Go to the documentation of this file.
00001 #ifndef MSLayersAtAngle_H
00002 #define MSLayersAtAngle_H
00003 
00008 #include <vector>
00009 #include <cmath>
00010 
00011 #include "RecoTracker/TkMSParametrization/interface/MSLayer.h"
00012 class PixelRecoLineRZ;
00013 
00014 class MSLayersAtAngle {
00015 
00016 public:
00017   MSLayersAtAngle() { }
00018   MSLayersAtAngle(const std::vector<MSLayer> & layers);
00019   void update(const MSLayer & layer);
00020   const MSLayer * findLayer(const MSLayer & layer) const;
00021 
00022   float sumX0D(const PixelRecoPointRZ & pointI,
00023                const PixelRecoPointRZ & pointO) const;
00024   float sumX0D(const PixelRecoPointRZ & pointI,
00025                const PixelRecoPointRZ & pointM,
00026                const PixelRecoPointRZ & pointO) const;
00027 
00028   int size() const { return theLayers.size(); }
00029   void print() const;
00030 
00031 private:
00032   std::vector<MSLayer> theLayers;
00033 
00034 private:
00035   typedef std::vector<MSLayer>::const_iterator LayerItr;
00036   LayerItr findLayer(const PixelRecoPointRZ & point,
00037                      LayerItr i1, LayerItr i2) const;
00038   float sum2RmRn(LayerItr i1, LayerItr i2,
00039                  float rTarget, const PixelRecoLineRZ & line) const;
00040 };
00041 
00042 #endif

Generated on Tue Jun 9 17:45:51 2009 for CMSSW by  doxygen 1.5.4