Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:28:45

0001 #ifndef TkDetLayers_CompatibleDetToGroupAdder_h
0002 #define TkDetLayers_CompatibleDetToGroupAdder_h
0003 
0004 #include "TrackingTools/DetLayers/interface/DetGroup.h"
0005 #include "TrackingTools/DetLayers/interface/GeometricSearchDet.h"
0006 
0007 #pragma GCC visibility push(hidden)
0008 
0009 class TrajectoryStateOnSurface;
0010 class Propagator;
0011 class MeasurementEstimator;
0012 
0013 class CompatibleDetToGroupAdder {
0014 public:
0015   /** Checks the det for compatibility with the tsos propagated by prop and according to est;
0016    *  if the det is compatible, it is added to result and the method returns true, 
0017    *  if not result is not modified and the method returns false.
0018    *  The method for chacking for compatibility used depends on the det:
0019    *  if the det hasGroups, then groupedCompatibleDets() is used, otherwise
0020    *  compatible() is used.
0021    */
0022 
0023   static bool add(const GeometricSearchDet& det,
0024                   const TrajectoryStateOnSurface& tsos,
0025                   const Propagator& prop,
0026                   const MeasurementEstimator& est,
0027                   std::vector<DetGroup>& result) __attribute__((hot));
0028 
0029   static bool add(const GeomDet& det,
0030                   const TrajectoryStateOnSurface& tsos,
0031                   const Propagator& prop,
0032                   const MeasurementEstimator& est,
0033                   std::vector<DetGroup>& result) __attribute__((hot));
0034 };
0035 
0036 #pragma GCC visibility pop
0037 #endif