CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
SeedingLayerSetsBuilder.h
Go to the documentation of this file.
1 #ifndef TkSeedingLayers_SeedingLayerSetsBuilder_H
2 #define TkSeedingLayers_SeedingLayerSetsBuilder_H
3 
6 
10 
12 
13 #include <string>
14 #include <vector>
15 namespace edm { class Event; class EventSetup; class ConsumesCollector;}
19 
21 
22 public:
23 
28 
29  ctfseeding::SeedingLayerSets layers(const edm::EventSetup& es); // only for backwards-compatibility
30 
31  bool check(const edm::EventSetup& es);
32  void updateEventSetup(const edm::EventSetup& es);
33 
34  typedef unsigned short LayerSetIndex;
35  unsigned short numberOfLayersInSet() const { return theNumberOfLayersInSet; }
36  const std::vector<LayerSetIndex>& layerSetIndices() const { return theLayerSetIndices; }
37 
38  unsigned short numberOfLayers() const { return theLayers.size(); }
39  const std::vector<std::string>& layerNames() const { return theLayerNames; }
40  const std::vector<const DetLayer *>& layerDets() const { return theLayerDets; }
41  std::pair<std::vector<unsigned int>, ctfseeding::SeedingLayer::Hits> hits(const edm::Event& ev, const edm::EventSetup& es) const;
42 
43 private:
44  std::vector<std::vector<std::string> > layerNamesInSets(
45  const std::vector<std::string> & namesPSet) ;
46  edm::ParameterSet layerConfig(const std::string & nameLayer,const edm::ParameterSet& cfg) const;
47 
50 
51  struct LayerSpec {
52  LayerSpec(unsigned short index, const std::string& layerName, const edm::ParameterSet& cfgLayer, edm::ConsumesCollector& iC);
53  ~LayerSpec();
54  const unsigned short nameIndex;
58 
61  int idLayer;
62  std::shared_ptr<ctfseeding::HitExtractor> extractor;
63 
64  std::string print(const std::vector<std::string>& names) const;
65  };
66  unsigned short theNumberOfLayersInSet;
67  std::vector<LayerSetIndex> theLayerSetIndices; // indices to theLayers to form the layer sets
68  std::vector<std::string> theLayerNames;
69  std::vector<const DetLayer *> theLayerDets;
70  std::vector<const TransientTrackingRecHitBuilder *> theTTRHBuilders;
71  std::vector<LayerSpec> theLayers;
72 };
73 #endif
ctfseeding::SeedingLayerSets layers(const edm::EventSetup &es)
static const HistoName names[]
std::vector< LayerSpec > theLayers
edm::ESWatcher< TrackerRecoGeometryRecord > geometryWatcher_
LayerSpec(unsigned short index, const std::string &layerName, const edm::ParameterSet &cfgLayer, edm::ConsumesCollector &iC)
std::vector< std::string > theLayerNames
bool check(const edm::EventSetup &es)
const std::vector< std::string > & layerNames() const
std::vector< const TransientTrackingRecHitBuilder * > theTTRHBuilders
GeomDetEnumerators::SubDetector subdet
const std::vector< const DetLayer * > & layerDets() const
unsigned short numberOfLayersInSet() const
void updateEventSetup(const edm::EventSetup &es)
std::shared_ptr< ctfseeding::HitExtractor > extractor
edm::ESWatcher< TransientRecHitRecord > trhWatcher_
std::vector< LayerSetIndex > theLayerSetIndices
unsigned short numberOfLayers() const
std::vector< TransientTrackingRecHit::ConstRecHitPointer > Hits
Definition: SeedingLayer.h:22
std::string print(const std::vector< std::string > &names) const
std::pair< std::vector< unsigned int >, ctfseeding::SeedingLayer::Hits > hits(const edm::Event &ev, const edm::EventSetup &es) const
edm::ParameterSet layerConfig(const std::string &nameLayer, const edm::ParameterSet &cfg) const
const std::vector< LayerSetIndex > & layerSetIndices() const
std::vector< const DetLayer * > theLayerDets
ctfseeding::SeedingLayer::Side side
std::vector< std::vector< SeedingLayer > > SeedingLayerSets
std::vector< std::vector< std::string > > layerNamesInSets(const std::vector< std::string > &namesPSet)