CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
TracktoRPC.h
Go to the documentation of this file.
1 #ifndef TRACKTORPC_H
2 #define TRACKTORPC_H
3 
4 
7 
14 
21 
31 
36 
40 
50 
54 //#include "RecoLocalMuon/RPCRecHit/interface/DTSegtoRPC.h"
55 //#include "RecoLocalMuon/RPCRecHit/interface/CSCSegtoRPC.h"
56 
59 typedef std::vector<Trajectory> Trajectories;
60 
61 class TracktoRPC {
62 public:
63 
64 
65  explicit TracktoRPC(edm::Handle<reco::TrackCollection> alltracks,const edm::EventSetup& iSetup, const edm::Event& iEvent,bool debug, const edm::ParameterSet& iConfig,edm::InputTag& tracklabel);
66 
67  ~TracktoRPC();
69  bool ValidRPCSurface(RPCDetId rpcid, LocalPoint LocalP, const edm::EventSetup& iSetup);
70 
71 private:
74  double MaxD;
75 
78 };
79 
81 public:
83  DTStationIndex2(int region, int wheel, int sector, int station) :
84  _region(region),
85  _wheel(wheel),
86  _sector(sector),
87  _station(station){}
89  int region() const {return _region;}
90  int wheel() const {return _wheel;}
91  int sector() const {return _sector;}
92  int station() const {return _station;}
93  bool operator<(const DTStationIndex2& dtind) const{
94  if(dtind.region()!=this->region())
95  return dtind.region()<this->region();
96  else if(dtind.wheel()!=this->wheel())
97  return dtind.wheel()<this->wheel();
98  else if(dtind.sector()!=this->sector())
99  return dtind.sector()<this->sector();
100  else if(dtind.station()!=this->station())
101  return dtind.station()<this->station();
102  return false;
103  }
104 
105 private:
106  int _region;
107  int _wheel;
108  int _sector;
109  int _station;
110 };
111 
113 public:
114  static ObjectMap2* GetInstance(const edm::EventSetup& iSetup);
115  std::set<RPCDetId> GetRolls(DTStationIndex2 dtstationindex){return mapInstance->rollstoreDT[dtstationindex];}
116 //protected:
117  std::map<DTStationIndex2,std::set<RPCDetId> > rollstoreDT;
118  ObjectMap2(const edm::EventSetup& iSetup);
119 private:
121 };
123 public:
126  _region(region),
127  _station(station),
128  _ring(ring),
129  _chamber(chamber){}
131  int region() const {return _region;}
132  int station() const {return _station;}
133  int ring() const {return _ring;}
134  int chamber() const {return _chamber;}
135  bool operator<(const CSCStationIndex2& cscind) const{
136  if(cscind.region()!=this->region())
137  return cscind.region()<this->region();
138  else if(cscind.station()!=this->station())
139  return cscind.station()<this->station();
140  else if(cscind.ring()!=this->ring())
141  return cscind.ring()<this->ring();
142  else if(cscind.chamber()!=this->chamber())
143  return cscind.chamber()<this->chamber();
144  return false;
145  }
146 
147 private:
148  int _region;
149  int _station;
150  int _ring;
151  int _chamber;
152 };
153 
155 public:
156  static ObjectMap2CSC* GetInstance(const edm::EventSetup& iSetup);
157  std::set<RPCDetId> GetRolls(CSCStationIndex2 cscstationindex){return mapInstance->rollstoreCSC[cscstationindex];}
158 //protected:
159  std::map<CSCStationIndex2,std::set<RPCDetId> > rollstoreCSC;
160  ObjectMap2CSC(const edm::EventSetup& iSetup);
161 private:
163 };
164 
165 #endif
std::vector< Trajectory > Trajectories
edm::ESHandle< Propagator > thePropagator
Definition: TracktoRPC.h:77
std::set< RPCDetId > GetRolls(DTStationIndex2 dtstationindex)
Definition: TracktoRPC.h:115
ObjectMap2CSC(const edm::EventSetup &iSetup)
Definition: TracktoRPC.cc:82
static ObjectMap2CSC * GetInstance(const edm::EventSetup &iSetup)
Definition: TracktoRPC.cc:75
int station() const
Definition: TracktoRPC.h:92
edm::OwnVector< RPCRecHit > RPCPointVector
Definition: TracktoRPC.h:73
std::vector< Track > TrackCollection
collection of Tracks
Definition: TrackFwd.h:10
DTStationIndex2(int region, int wheel, int sector, int station)
Definition: TracktoRPC.h:83
static ObjectMap2 * mapInstance
Definition: TracktoRPC.h:120
int ring() const
Definition: TracktoRPC.h:133
RPCRecHitCollection * _ThePoints
Definition: TracktoRPC.h:72
int region() const
Definition: TracktoRPC.h:131
std::vector< Muon > MuonCollection
collection of Muon objects
Definition: MuonFwd.h:9
bool operator<(const CSCStationIndex2 &cscind) const
Definition: TracktoRPC.h:135
TrackTransformerBase * theTrackTransformer
Definition: TracktoRPC.h:76
RPCRecHitCollection * thePoints()
Definition: TracktoRPC.h:68
std::map< DTStationIndex2, std::set< RPCDetId > > rollstoreDT
Definition: TracktoRPC.h:117
int iEvent
Definition: GenABIO.cc:230
bool operator<(const DTStationIndex2 &dtind) const
Definition: TracktoRPC.h:93
bool ValidRPCSurface(RPCDetId rpcid, LocalPoint LocalP, const edm::EventSetup &iSetup)
Definition: TracktoRPC.cc:118
int sector() const
Definition: TracktoRPC.h:91
static ObjectMap2CSC * mapInstance
Definition: TracktoRPC.h:162
CSCStationIndex2(int region, int station, int ring, int chamber)
Definition: TracktoRPC.h:125
double MaxD
Definition: TracktoRPC.h:74
ObjectMap2(const edm::EventSetup &iSetup)
Definition: TracktoRPC.cc:28
int wheel() const
Definition: TracktoRPC.h:90
#define debug
Definition: HDRShower.cc:19
int chamber() const
Definition: TracktoRPC.h:134
std::set< RPCDetId > GetRolls(CSCStationIndex2 cscstationindex)
Definition: TracktoRPC.h:157
TracktoRPC(edm::Handle< reco::TrackCollection > alltracks, const edm::EventSetup &iSetup, const edm::Event &iEvent, bool debug, const edm::ParameterSet &iConfig, edm::InputTag &tracklabel)
Definition: TracktoRPC.cc:151
int region() const
Definition: TracktoRPC.h:89
std::map< CSCStationIndex2, std::set< RPCDetId > > rollstoreCSC
Definition: TracktoRPC.h:159
static ObjectMap2 * GetInstance(const edm::EventSetup &iSetup)
Definition: TracktoRPC.cc:21
int station() const
Definition: TracktoRPC.h:132