File indexing completed on 2023-03-17 11:23:34
0001 #ifndef SMS_H
0002 #define SMS_H
0003
0004 #include <cmath>
0005 #include <cstdlib>
0006 #include <vector>
0007 #include <algorithm>
0008 #include <iostream>
0009 #include "DataFormats/GeometryVector/interface/GlobalPoint.h"
0010
0011
0012
0013
0014
0015
0016 class SMS {
0017 public:
0018 enum SMSType { None = 0, Interpolate = 1, Iterate = 2, Weighted = 4 };
0019
0020
0021
0022
0023
0024
0025 SMS(SMSType tp = (SMSType)(Interpolate | Iterate | Weighted), float q = 0.5);
0026
0027 GlobalPoint location(const std::vector<GlobalPoint>&) const;
0028 GlobalPoint location(const std::vector<std::pair<GlobalPoint, float> >&) const;
0029
0030 private:
0031 SMSType theType;
0032 float theRatio;
0033 };
0034
0035 #endif