CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
CosmicTrackingRegion.h
Go to the documentation of this file.
1 #ifndef CosmicTrackingRegion_H
2 #define CosmicTrackingRegion_H
3 
15 #include <vector>
17 
20 
21 
22 using SeedingHit = BaseTrackerRecHit const *;
23 
25 public:
26 
27 
28  virtual ~CosmicTrackingRegion() { }
29 
55  const GlobalPoint & vertexPos,
56  float ptMin, float rVertex, float zVertex,
57  float deltaEta, float deltaPhi,
58  float dummy = 0.)
59  : TrackingRegionBase( dir, vertexPos, Range( -1/ptMin, 1/ptMin),
60  rVertex, zVertex),
62  { }
63 
65  const GlobalPoint & vertexPos,
66  float ptMin, float rVertex, float zVertex,
67  float deltaEta, float deltaPhi,
68  const edm::ParameterSet & extra)
69  : TrackingRegionBase( dir, vertexPos, Range( -1/ptMin, 1/ptMin),
70  rVertex, zVertex)
71  {
72  measurementTrackerName_ = extra.getParameter<std::string>("measurementTrackerName");
73  }
74 
78 
80  hits(
81  const edm::Event& ev,
82  const edm::EventSetup& es,
83  const ctfseeding::SeedingLayer* layer) const;
84 
86  hits(
87  const edm::Event& ev,
88  const edm::EventSetup& es,
89  const SeedingLayerSetsHits::SeedingLayer& layer) const override;
90 
92  const DetLayer* layer,
93  const Hit & outerHit,
94  const edm::EventSetup& iSetup,
95  const DetLayer* outerlayer=0,
96  float lr=0, float gz=0, float dr=0, float dz=0) const {return 0; }
97 
98  CosmicTrackingRegion * clone() const { return new CosmicTrackingRegion(*this); }
99 
100  std::string name() const { return "CosmicTrackingRegion"; }
101 
102 private:
103  template <typename T>
104  void hits_(
105  const edm::Event& ev,
106  const edm::EventSetup& es,
107  const T& layer, TrackingRegion::Hits & result) const;
108 
109 
110 
112 
114  using cacheHits=std::vector<cacheHitPointer>;
115 
116  // not a solution! here just to try to get this thing working....
117  // in any case onDemand is NOT thread safe yet
118  // actually this solution is absolutely safe. It lays in the effimeral nature of the region itself
119  mutable cacheHits cache;
120 
121 
122 
123 };
124 
125 #endif
T getParameter(std::string const &) const
CosmicTrackingRegion(const GlobalVector &dir, const GlobalPoint &vertexPos, float ptMin, float rVertex, float zVertex, float deltaEta, float deltaPhi, float dummy=0.)
std::vector< cacheHitPointer > cacheHits
CosmicTrackingRegion * clone() const
ctfseeding::SeedingLayer::Hits ctfHits
virtual HitRZCompatibility * checkRZ(const DetLayer *layer, const Hit &outerHit, const edm::EventSetup &iSetup, const DetLayer *outerlayer=0, float lr=0, float gz=0, float dr=0, float dz=0) const
tuple result
Definition: query.py:137
CosmicTrackingRegion(const GlobalVector &dir, const GlobalPoint &vertexPos, float ptMin, float rVertex, float zVertex, float deltaEta, float deltaPhi, const edm::ParameterSet &extra)
virtual TrackingRegion::ctfHits hits(const edm::Event &ev, const edm::EventSetup &es, const ctfseeding::SeedingLayer *layer) const
void hits_(const edm::Event &ev, const edm::EventSetup &es, const T &layer, TrackingRegion::Hits &result) const
CosmicTrackingRegion(CosmicTrackingRegion const &rh)
SeedingLayerSetsHits::Hits Hits
float ptMin() const
minimal pt of interest
std::string name() const
BaseTrackerRecHit const * SeedingHit
dbl *** dir
Definition: mlp_gen.cc:35
long double T