CMS 3D CMS Logo

GEMCSCSegmentBuilder.h
Go to the documentation of this file.
1 #ifndef GEMCSCSegment_GEMCSCSegmentBuilder_h
2 #define GEMCSCSegment_GEMCSCSegmentBuilder_h
3 
19 
22 
24 
31 
32 
33 class CSCStationIndex{
34  public:
36  CSCStationIndex(int region, int station, int ring, int chamber, int layer):
37  _region(region), _station(station), _ring(ring),_chamber(chamber),_layer(layer){}
39 
40  int region() const {return _region;}
41  int station() const {return _station;}
42  int ring() const {return _ring;}
43  int chamber() const {return _chamber;}
44  int layer() const {return _layer;}
45 
46  bool operator<(const CSCStationIndex& cscind) const{
47  if(cscind.region()!=this->region())
48  return cscind.region()<this->region();
49  else if(cscind.station()!=this->station())
50  return cscind.station()<this->station();
51  else if(cscind.ring()!=this->ring())
52  return cscind.ring()<this->ring();
53  else if(cscind.chamber()!=this->chamber())
54  return cscind.chamber()<this->chamber();
55  else if(cscind.layer()!=this->layer())
56  return cscind.layer()<this->layer();
57  return false;
58  }
59 
60  private:
61  int _region;
62  int _station;
63  int _ring;
64  int _chamber;
65  int _layer;
66 };
67 
68 
70 
72  public:
73  explicit GEMCSCSegmentBuilder(const edm::ParameterSet&);
75  void build(const GEMRecHitCollection* rechits,const CSCSegmentCollection* cscsegments, GEMCSCSegmentCollection& oc);
76 
77  void setGeometry(const GEMGeometry* gemgeom, const CSCGeometry* cscgeom);
78  void LinkGEMRollsToCSCChamberIndex(const GEMGeometry* gemgeom, const CSCGeometry* cscgeom);
79 
80  protected:
81  std::map<CSCStationIndex,std::set<GEMDetId> > rollstoreCSC;
82 
83  private:
84  std::unique_ptr<GEMCSCSegmentAlgorithm> algo;
87 
88 };
89 
90 #endif
int chamber() const
Definition: RPCEfficiency.h:74
const CSCGeometry * cscgeom_
int station() const
Definition: RPCEfficiency.h:72
std::unique_ptr< GEMCSCSegmentAlgorithm > algo
int ring() const
Definition: RPCEfficiency.h:73
std::map< CSCStationIndex, std::set< GEMDetId > > rollstoreCSC
void setGeometry(CaloGeometry const *)
const GEMGeometry * gemgeom_
bool operator<(const CSCStationIndex &cscind) const
int region() const
Definition: RPCEfficiency.h:71
CSCStationIndex(int region, int station, int ring, int chamber, int layer)