CMS 3D CMS Logo

RPCCosmicSeedrecHitFinder.h
Go to the documentation of this file.
1 #ifndef RecoMuon_MuonSeedGenerator_RPCCosmicSeedrecHitFinder_H
2 #define RecoMuon_MuonSeedGenerator_RPCCosmicSeedrecHitFinder_H
3 
16 
17 #ifndef RPCLayerNumber
18 #define RPCLayerNumber 12
19 #endif
20 
21 #ifndef BarrelLayerNumber
22 #define BarrelLayerNumber 6
23 #endif
24 
25 #ifndef EachEndcapLayerNumber
26 #define EachEndcapLayerNumber 3
27 #endif
28 
34 
35 public:
38  void configure(const edm::ParameterSet& iConfig);
39  void setEdge(const edm::EventSetup& iSetup);
40  void unsetEdge();
41  void setInput(MuonRecHitContainer (&recHits)[RPCLayerNumber]);
42  void unsetInput();
43  void setOutput(RPCSeedFinder* Seed); // Use the same RPCSeedFinder class
44  void setLayers(const std::vector<unsigned int>& Layers);
45  void fillrecHits();
46 
47 private:
48  int LayerComponent();
49  bool complete(const GlobalVector& lastSegment, const MuonRecHitPointer& lastrecHitRef);
50  void checkandfill();
51  bool isinsideAngleRange(const GlobalVector& lastSegment,
52  const GlobalPoint& lastPosition,
53  const GlobalPoint& currentPosition);
54  bool iscorssEdge(const MuonRecHitPointer& lastrecHitRef, const MuonRecHitPointer& currentrecHitRef);
55  bool isouterLayer(const MuonRecHitPointer& recHitRef);
56 
57  // ----------member data ---------------------------
58 
59  // parameters for configuration
60  unsigned int BxRange;
61  std::vector<int> ClusterSet;
62  double MaxDeltaPhi;
63  // Signal for call fillrecHits()
64  bool isLayerset;
66  bool isInputset;
68  bool isEdgeset;
69  // Signal for filling recHits
71  // Enable layers in Barrel and Endcap
72  std::vector<unsigned int> LayersinRPC;
73  // Data members
74  std::vector<BoundPlane> innerBounds;
76  MuonRecHitContainer AllrecHits[RPCLayerNumber];
77  ConstMuonRecHitContainer therecHits;
79 };
80 
81 #endif
MuonTransientTrackingRecHit::ConstMuonRecHitContainer ConstMuonRecHitContainer
void setEdge(const edm::EventSetup &iSetup)
void setInput(MuonRecHitContainer(&recHits)[12])
bool iscorssEdge(const MuonRecHitPointer &lastrecHitRef, const MuonRecHitPointer &currentrecHitRef)
MuonTransientTrackingRecHit::MuonRecHitPointer MuonRecHitPointer
MuonRecHitContainer AllrecHits[12]
std::vector< unsigned int > LayersinRPC
#define RPCLayerNumber
std::shared_ptr< MuonTransientTrackingRecHit > MuonRecHitPointer
bool isinsideAngleRange(const GlobalVector &lastSegment, const GlobalPoint &lastPosition, const GlobalPoint &currentPosition)
MuonTransientTrackingRecHit::ConstMuonRecHitPointer ConstMuonRecHitPointer
std::vector< ConstMuonRecHitPointer > ConstMuonRecHitContainer
void setLayers(const std::vector< unsigned int > &Layers)
bool isouterLayer(const MuonRecHitPointer &recHitRef)
ConstMuonRecHitContainer therecHits
void setOutput(RPCSeedFinder *Seed)
MuonTransientTrackingRecHit::MuonRecHitContainer MuonRecHitContainer
std::shared_ptr< MuonTransientTrackingRecHit const > ConstMuonRecHitPointer
bool complete(const GlobalVector &lastSegment, const MuonRecHitPointer &lastrecHitRef)
std::vector< MuonRecHitPointer > MuonRecHitContainer
std::vector< BoundPlane > innerBounds
void configure(const edm::ParameterSet &iConfig)