File indexing completed on 2025-01-09 23:33:55
0001 #ifndef RecoMuon_MuonSeedGenerator_RPCSeedrecHitFinder_H
0002 #define RecoMuon_MuonSeedGenerator_RPCSeedrecHitFinder_H
0003
0004
0005
0006
0007
0008
0009
0010
0011 #include "RecoMuon/MuonSeedGenerator/interface/RPCSeedFinder.h"
0012 #include <RecoMuon/TransientTrackingRecHit/interface/MuonTransientTrackingRecHit.h>
0013 #include <FWCore/ParameterSet/interface/ParameterSet.h>
0014
0015 #ifndef RPCLayerNumber
0016 #define RPCLayerNumber 12
0017 #endif
0018
0019 #ifndef BarrelLayerNumber
0020 #define BarrelLayerNumber 6
0021 #endif
0022
0023 #ifndef EachEndcapLayerNumber
0024 #define EachEndcapLayerNumber 3
0025 #endif
0026
0027 class RPCSeedrecHitFinder {
0028 typedef MuonTransientTrackingRecHit::MuonRecHitPointer MuonRecHitPointer;
0029 typedef MuonTransientTrackingRecHit::ConstMuonRecHitPointer ConstMuonRecHitPointer;
0030 typedef MuonTransientTrackingRecHit::MuonRecHitContainer MuonRecHitContainer;
0031 typedef MuonTransientTrackingRecHit::ConstMuonRecHitContainer ConstMuonRecHitContainer;
0032
0033 public:
0034 RPCSeedrecHitFinder();
0035 ~RPCSeedrecHitFinder();
0036 void configure(const edm::ParameterSet& iConfig);
0037 void setInput(MuonRecHitContainer (&recHits)[RPCLayerNumber]);
0038 void unsetInput();
0039 void setOutput(RPCSeedFinder* Seed);
0040 void setLayers(const std::vector<unsigned int>& Layers);
0041 void fillrecHits();
0042
0043 private:
0044 void complete(unsigned int LayerIndex);
0045 double getdeltaPhifromrecHits();
0046 void checkandfill();
0047
0048
0049
0050
0051 unsigned int BxRange;
0052 double MaxDeltaPhi;
0053 std::vector<int> ClusterSet;
0054
0055 bool isLayerset;
0056 bool isConfigured;
0057 bool isInputset;
0058 bool isOutputset;
0059
0060 std::vector<unsigned int> LayersinRPC;
0061 MuonRecHitContainer* recHitsRPC[RPCLayerNumber];
0062 ConstMuonRecHitContainer therecHits;
0063 RPCSeedFinder* theSeed;
0064 };
0065
0066 #endif