File indexing completed on 2024-04-06 12:28:28
0001 #ifndef RecoTracker_PixelLowPtUtilities_ClusterShape_h
0002 #define RecoTracker_PixelLowPtUtilities_ClusterShape_h
0003
0004 #include "DataFormats/SiPixelCluster/interface/SiPixelCluster.h"
0005
0006 #include <utility>
0007 #include <vector>
0008
0009 class PixelGeomDetUnit;
0010 class SiPixelCluster;
0011 class SiPixelRecHit;
0012 class ClusterData;
0013
0014 class ClusterShape {
0015 public:
0016 ClusterShape();
0017 ~ClusterShape();
0018 void determineShape(const PixelGeomDetUnit& pixelDet, const SiPixelRecHit& recHit, ClusterData& data);
0019 void determineShape(const PixelGeomDetUnit& pixelDet, const SiPixelCluster& cluster, ClusterData& data);
0020
0021 private:
0022 int getDirection(int low, int hig, int olow, int ohig);
0023 bool processColumn(std::pair<int, int> pos, bool inTheLoop);
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034 std::vector<SiPixelCluster::Pixel> pixels_;
0035 int x[2], y[2], low, hig, olow, ohig, odir;
0036 };
0037
0038 #endif