00001
00002
00008
00009
00010 #ifndef DT_BTI_ID_H_
00011 #define DT_BTI_ID_H_
00012
00013
00014
00015
00016
00017
00018
00019
00020 #include "DataFormats/MuonDetId/interface/DTChamberId.h"
00021 #include "DataFormats/MuonDetId/interface/DTSuperLayerId.h"
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032 class DTBtiId {
00033
00034 public:
00035
00037 DTBtiId() : _bti(0) {}
00038
00040 DTBtiId(const DTSuperLayerId& mu_superlayer_id,
00041 const int bti_id) : _suplId(mu_superlayer_id),
00042 _bti(bti_id) {}
00043
00045 DTBtiId(const DTChamberId& mu_stat_id,
00046 const int superlayer_id,
00047 const int bti_id) : _suplId(mu_stat_id,superlayer_id),
00048 _bti(bti_id) {}
00049
00051 DTBtiId(const int wheel_id,
00052 const int station_id,
00053 const int sector_id,
00054 const int superlayer_id,
00055 const int bti_id) :
00056 _suplId(wheel_id,station_id,sector_id,superlayer_id),
00057 _bti(bti_id) {}
00058
00060 DTBtiId(const DTBtiId& btiId) :
00061 _suplId(btiId._suplId), _bti(btiId._bti) {}
00062
00064 virtual ~DTBtiId() {}
00065
00067 inline int wheel() const { return _suplId.wheel(); }
00069 inline int station() const { return _suplId.station(); }
00071 inline int sector() const { return _suplId.sector(); }
00073 inline int superlayer() const { return _suplId.superlayer(); }
00075 inline int bti() const { return _bti; }
00077 inline DTSuperLayerId SLId() const { return _suplId; }
00078
00079 bool operator == ( const DTBtiId& id) const {
00080 if ( wheel()!=id.wheel()) return false;
00081 if ( sector()!=id.sector())return false;
00082 if ( station()!=id.station())return false;
00083 if ( superlayer()!=id.superlayer())return false;
00084 if ( _bti!=id.bti())return false;
00085 return true;
00086 }
00087
00088 bool operator < ( const DTBtiId& id) const {
00089 if ( wheel() < id.wheel() ) return true;
00090 if ( wheel() > id.wheel() ) return false;
00091
00092 if ( station() < id.station() ) return true;
00093 if ( station() > id.station() ) return false;
00094
00095 if ( sector() < id.sector() ) return true;
00096 if ( sector() > id.sector() ) return false;
00097
00098 if ( superlayer() < id.superlayer() ) return true;
00099 if ( superlayer() > id.superlayer() ) return false;
00100
00101 if ( bti() < id.bti() ) return true;
00102 if ( bti() > id.bti() ) return false;
00103
00104 return false;
00105 }
00106
00107
00108 private:
00109 DTSuperLayerId _suplId;
00110 int _bti;
00111
00112 };
00113
00114 #endif