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 <boost/shared_ptr.hpp>
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,
27  const DetLayer* layer,
29  const HitExtractor * hitExtractor,
30  bool usePredefinedErrors = false, float hitErrorRZ = 0., float hitErrorRPhi=0.);
31 
32  std::string name() 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  bool hasPredefinedHitErrors() const;
44  float predefinedHitErrorRZ() const;
45  float predefinedHitErrorRPhi() const;
46 
47 private:
49  boost::shared_ptr<SeedingLayerImpl> theImpl;
50 };
51 
52 }
53 #endif
bool operator==(const SeedingLayer &s) const
Definition: SeedingLayer.h:37
float predefinedHitErrorRPhi() const
const DetLayer * detLayer() const
Definition: SeedingLayer.cc:80
bool hasPredefinedHitErrors() const
Definition: SeedingLayer.cc:95
void hits(const edm::Event &ev, const edm::EventSetup &es, Hits &) const
const TransientTrackingRecHitBuilder * hitBuilder() const
Definition: SeedingLayer.cc:85
float predefinedHitErrorRZ() const
std::string name() const
Definition: SeedingLayer.cc:75
std::vector< TransientTrackingRecHit::ConstRecHitPointer > Hits
Definition: SeedingLayer.h:22
boost::shared_ptr< SeedingLayerImpl > theImpl
Definition: SeedingLayer.h:48