CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
RBorderFinder.h
Go to the documentation of this file.
1 #ifndef TrackingTools_DetLayers_RBorderFinder_H
2 #define TrackingTools_DetLayers_RBorderFinder_H
3 
13 
19 
20 #include <vector>
21 
23 public:
24  typedef ForwardDetRing Det; //FIXME!!!
26 
27  RBorderFinder(const std::vector<const Det*>& utheDets);
28 
29  virtual ~RBorderFinder(){};
30 
32  inline bool isRPeriodic() const { return isRPeriodic_; }
33 
35  inline bool isROverlapping() const { return isROverlapping_; }
36 
39  inline std::vector<double> RBorders() const { return theRBorders; }
40 
42  inline std::vector<double> RBins() const { return theRBins; }
43 
44  // inline std::vector<double> etaBorders() {}
45  // inline std::vector<double> zBorders() {}
46 
47 private:
48  int theNbins;
51  std::vector<double> theRBorders;
52  std::vector<double> theRBins;
53 
54  inline int binIndex(int i) const { return std::min(std::max(i, 0), theNbins - 1); }
55 };
56 #endif
RBorderFinder(const std::vector< const Det * > &utheDets)
Definition: RBorderFinder.cc:3
bool isROverlapping_
Definition: RBorderFinder.h:50
int binIndex(int i) const
Definition: RBorderFinder.h:54
std::vector< double > RBins() const
The centers of the Dets.
Definition: RBorderFinder.h:42
T min(T a, T b)
Definition: MathUtil.h:58
virtual ~RBorderFinder()
Definition: RBorderFinder.h:29
std::vector< double > RBorders() const
Definition: RBorderFinder.h:39
ForwardDetRing Det
Definition: RBorderFinder.h:24
std::vector< double > theRBorders
Definition: RBorderFinder.h:51
geomsort::ExtractR< Det, float > DetR
Definition: RBorderFinder.h:25
bool isRPeriodic() const
Returns true if the Dets are periodic in R.
Definition: RBorderFinder.h:32
bool isROverlapping() const
Returns true if any 2 of the Det overlap in R.
Definition: RBorderFinder.h:35
std::vector< double > theRBins
Definition: RBorderFinder.h:52