1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
#ifndef GeometryVector_EtaInterval_H
#define GeometryVector_EtaInterval_H
#include "DataFormats/GeometryVector/interface/Basic3DVector.h"
class EtaInterval {
public:
EtaInterval(float eta1, float eta2) : z1(::sinhf(eta1)), z2(::sinhf(eta2)) {}
template <typename T>
bool inside(Basic3DVector<T> const& v) const {
auto z = v.z();
auto r = v.perp();
return (z > z1 * r) & (z < z2 * r);
}
private:
float z1, z2;
};
#endif
|