CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
SeedingLayer.h
Go to the documentation of this file.
1 #ifndef TkSeedingLayers_SeedingLayer_H
2 #define TkSeedingLayers_SeedingLayer_H
3 
4 #include <string>
5 #include <vector>
6 #include <memory>
7 
10 
11 
12 class DetLayer;
14 class TkTransientTrackingRecHitBuilder;
15 
16 namespace edm { class Event; class EventSetup; }
17 namespace ctfseeding {class HitExtractor; }
18 
19 namespace ctfseeding {
20 
21 class SeedingLayer {
22 public:
23  enum Side { Barrel = 0, NegEndcap =1, PosEndcap = 2 };
24 public:
26  using TkHitRef = BaseTrackerRecHit const &;
28  using Hits=std::vector<HitPointer>;
29 
31 
32  SeedingLayer( const std::string & name, int seqNum,
33  const DetLayer* layer,
35  const HitExtractor * hitExtractor);
36 
37  std::string name() const;
38  int seqNum() const;
39 
40  void hits(const edm::Event& ev, const edm::EventSetup& es, Hits &) const;
41  Hits hits(const edm::Event& ev, const edm::EventSetup& es) const;
42 
43  bool operator==(const SeedingLayer &s) const { return name()==s.name(); }
44 
45  const DetLayer* detLayer() const;
46 
47  const TkTransientTrackingRecHitBuilder * hitBuilder() const;
48 
49 private:
51  std::shared_ptr<SeedingLayerImpl> theImpl;
52 };
53 
54 }
55 #endif
std::shared_ptr< SeedingLayerImpl > theImpl
Definition: SeedingLayer.h:50
bool operator==(const SeedingLayer &s) const
Definition: SeedingLayer.h:43
const DetLayer * detLayer() const
Definition: SeedingLayer.cc:67
std::vector< HitPointer > Hits
Definition: SeedingLayer.h:28
const TkTransientTrackingRecHitBuilder * hitBuilder() const
Definition: SeedingLayer.cc:72
BaseTrackerRecHit const & TkHitRef
Definition: SeedingLayer.h:26
void hits(const edm::Event &ev, const edm::EventSetup &es, Hits &) const
std::string name() const
Definition: SeedingLayer.cc:57