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 
17 
18 #ifndef RPCLayerNumber
19 #define RPCLayerNumber 12
20 #endif
21 
22 #ifndef BarrelLayerNumber
23 #define BarrelLayerNumber 6
24 #endif
25 
26 #ifndef EachEndcapLayerNumber
27 #define EachEndcapLayerNumber 3
28 #endif
29 
31 
36 
37  public:
40  void configure(const edm::ParameterSet& iConfig);
41  void setEdge(const edm::EventSetup& iSetup);
42  void unsetEdge();
43  void setInput(MuonRecHitContainer (&recHits)[RPCLayerNumber]);
44  void unsetInput();
45  void setOutput(RPCSeedFinder *Seed); // Use the same RPCSeedFinder class
46  void setLayers(const std::vector<unsigned int>& Layers);
47  void fillrecHits();
48  private:
49  int LayerComponent();
50  bool complete(const GlobalVector& lastSegment, const MuonRecHitPointer& lastrecHitRef);
51  void checkandfill();
52  bool isinsideAngleRange(const GlobalVector& lastSegment, const GlobalPoint& lastPosition, const GlobalPoint& currentPosition);
53  bool iscorssEdge(const MuonRecHitPointer& lastrecHitRef, const MuonRecHitPointer& currentrecHitRef);
54  bool isouterLayer(const MuonRecHitPointer& recHitRef);
55 
56  // ----------member data ---------------------------
57 
58  // parameters for configuration
59  unsigned int BxRange;
60  std::vector<int> ClusterSet;
61  double MaxDeltaPhi;
62  // Signal for call fillrecHits()
63  bool isLayerset;
65  bool isInputset;
67  bool isEdgeset;
68  // Signal for filling recHits
70  // Enable layers in Barrel and Endcap
71  std::vector<unsigned int> LayersinRPC;
72  // Data members
73  std::vector<BoundPlane> innerBounds;
75  MuonRecHitContainer AllrecHits[RPCLayerNumber];
76  ConstMuonRecHitContainer therecHits;
78 };
79 
80 #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)