1 #ifndef TkDetLayers_Phase2OTECRingedLayer_h
2 #define TkDetLayers_Phase2OTECRingedLayer_h
4 #define NOTECRINGS 15 // FIXME: for sure to be fixed. Hopefully a better algorithm would not require looking for compatible hits in all the layers !!
15 #pragma GCC visibility push(hidden)
63 mutable std::atomic<std::vector<const GeometricSearchDet*>*>
theComponents;
71 #pragma GCC visibility pop
void fillRingPars(int i) __attribute__((cold))
Phase2OTECRingedLayer & operator=(const Phase2OTECRingedLayer &)=delete
const Phase2OTECRing * theComps[15]
virtual const std::vector< const GeometricSearchDet * > & components() const __attribute__((cold))
std::array< int, 3 > findThreeClosest(const GlobalPoint[15]) const __attribute__((hot))
BoundDisk * computeDisk(const std::vector< const Phase2OTECRing * > &rings) const __attribute__((cold))
Phase2OTECRingedLayer(std::vector< const Phase2OTECRing * > &rings) __attribute__((cold))
bool overlapInR(const TrajectoryStateOnSurface &tsos, int i, double ymax) const __attribute__((hot))
float computeWindowSize(const GeomDet *det, const TrajectoryStateOnSurface &tsos, const MeasurementEstimator &est) const __attribute__((hot))
SubDetector subDetGeom[18]
float __attribute__((vector_size(8))) float32x2_t
void groupedCompatibleDetsV(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) const __attribute__((hot))
std::array< int, 3 > ringIndicesByCrossingProximity(const TrajectoryStateOnSurface &startingState, const Propagator &prop) const
std::atomic< std::vector< const GeometricSearchDet * > * > theComponents
virtual const std::vector< const GeomDet * > & basicComponents() const
virtual SubDetector subDetector() const
std::vector< GeomDet const * > theBasicComps
~Phase2OTECRingedLayer() __attribute__((cold))