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 
9 
10 class DetLayer;
12 
13 namespace edm { class Event; class EventSetup; }
14 namespace ctfseeding {class HitExtractor; }
15 
16 namespace ctfseeding {
17 
18 class SeedingLayer {
19 public:
20  enum Side { Barrel = 0, NegEndcap =1, PosEndcap = 2 };
21 public:
22  typedef std::vector<TransientTrackingRecHit::ConstRecHitPointer> Hits;
23 
25 
26  SeedingLayer( const std::string & name, int seqNum,
27  const DetLayer* layer,
29  const HitExtractor * hitExtractor);
30 
31  std::string name() const;
32  int seqNum() const;
33 
34  void hits(const edm::Event& ev, const edm::EventSetup& es, Hits &) const;
35  Hits hits(const edm::Event& ev, const edm::EventSetup& es) const;
36 
37  bool operator==(const SeedingLayer &s) const { return name()==s.name(); }
38 
39  const DetLayer* detLayer() const;
40 
42 
43 private:
45  std::shared_ptr<SeedingLayerImpl> theImpl;
46 };
47 
48 }
49 #endif
std::shared_ptr< SeedingLayerImpl > theImpl
Definition: SeedingLayer.h:44
bool operator==(const SeedingLayer &s) const
Definition: SeedingLayer.h:37
const DetLayer * detLayer() const
Definition: SeedingLayer.cc:67
void hits(const edm::Event &ev, const edm::EventSetup &es, Hits &) const
const TransientTrackingRecHitBuilder * hitBuilder() const
Definition: SeedingLayer.cc:72
std::string name() const
Definition: SeedingLayer.cc:57
std::vector< TransientTrackingRecHit::ConstRecHitPointer > Hits
Definition: SeedingLayer.h:22