CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
TIDLayer.h
Go to the documentation of this file.
1 #ifndef TkDetLayers_TIDLayer_h
2 #define TkDetLayers_TIDLayer_h
3 
4 
6 #include "TIDRing.h"
7 #include<array>
8 
9 
14 #pragma GCC visibility push(hidden)
15 class TIDLayer GCC11_FINAL : public RingedForwardLayer, public GeometricSearchDetWithGroups {
16  public:
17  TIDLayer(std::vector<const TIDRing*>& rings);
18  ~TIDLayer();
19 
20  // GeometricSearchDet interface
21 
22  virtual const std::vector<const GeomDet*>& basicComponents() const {return theBasicComps;}
23 
24  virtual const std::vector<const GeometricSearchDet*>& components() const;
25 
27  const Propagator& prop,
28  const MeasurementEstimator& est,
29  std::vector<DetGroup> & result) const;
30 
31  // DetLayer interface
33 
34 
35  private:
36  // private methods for the implementation of groupedCompatibleDets()
37  BoundDisk* computeDisk( const std::vector<const TIDRing*>& rings) const;
38 
39  std::array<int,3> ringIndicesByCrossingProximity(const TrajectoryStateOnSurface& startingState,
40  const Propagator& prop ) const;
41 
42  // bool isCompatible( const TrajectoryStateOnSurface& ms,
43  // const MeasurementEstimator& est) const;
44 
45  int findClosest( const GlobalPoint[3] ) const;
46 
47  int findNextIndex( const GlobalPoint[3] , int ) const;
48 
49  bool overlapInR( const TrajectoryStateOnSurface& tsos, int i, double ymax) const;
50 
51 
52  float computeWindowSize( const GeomDet* det,
53  const TrajectoryStateOnSurface& tsos,
54  const MeasurementEstimator& est) const;
55 
56  void fillRingPars(int i);
57 
58  private:
59  std::vector<GeomDet const*> theBasicComps;
60  const TIDRing* theComps[3];
61  struct RingPar { float theRingR, thetaRingMin, thetaRingMax;};
62  RingPar ringPars[3];
63 
64 };
65 
66 
67 #pragma GCC visibility pop
68 #endif
int i
Definition: DBlmapReader.cc:9
virtual const std::vector< const GeometricSearchDet * > & components() const =0
Returns basic components, if any.
virtual void groupedCompatibleDetsV(const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) const
virtual const std::vector< const GeomDet * > & basicComponents() const
Definition: TIDLayer.h:22
float computeWindowSize(const GeomDet *det, const TrajectoryStateOnSurface &tsos, const MeasurementEstimator &est)
Definition: TkDetUtil.cc:31
std::vector< GeomDet const * > theBasicComps
Definition: TIDLayer.h:59
virtual SubDetector subDetector() const
The type of detector (PixelBarrel, PixelEndcap, TIB, TOB, TID, TEC, CSC, DT, RPCBarrel, RPCEndcap)
Definition: TIDLayer.h:32
tuple result
Definition: query.py:137
Unlimited (trivial) bounds.