33 for (
int ist = 1; ist <= 4; ++ist) {
59 scsec = sector > 12 ? sector == 13 ? 4 : 10 : sector;
60 float xcenter = (scsec == 4 || scsec == 10)
61 ? (sector - 12.9) /
abs(sector - 12.9) *
xCenter_[(sector == 10 || sector == 14)]
69 int sector =
id.sector();
77 if (station == 4 && (sector == 4 || sector == 10)) {
81 nbins =
static_cast<int>((max -
min) / step);
93 nbins =
static_cast<int>((max -
min) / step);
99 int wh = trig->
whNum();
101 int st = trig->
stNum();
104 float phin = (sec - 1) *
Geom::pi() / 6;
109 if (sec == 4 && st == 4) {
113 phicenter = gpos.
phi();
115 }
else if (sec == 10 && st == 4) {
119 phicenter = gpos.
phi();
123 phicenter = gpos.
phi();
127 float deltaphi = phicenter - phin;
128 float x = (
tan(phi / 4096.) -
tan(deltaphi)) *
129 (r *
cos(deltaphi) -
zcn_[st - 1]);
139 int wh = trig->
whNum();
142 int phib = trig->
phiB();
const DTSuperLayer * superLayer(const DTSuperLayerId &id) const
Return the superlayer corresponding to the given id.
virtual ~DTTrigGeomUtils()
Destructor.
LocalPoint localPosition() const override
Local position in Chamber frame.
void thetaRange(const DTChamberId &id, float &min, float &max, int &nbins, float step=15)
Compute theta range in local chamber coordinates.
const DTChamber * chamber(const DTChamberId &id) const
Return a DTChamber given its id.
LocalVector localDirection() const override
Local direction in Chamber frame.
float trigDir(const L1MuDTChambPhDigi *trig)
Return local direction (trigger RF) for a given trigger primitive.
Geom::Phi< T > phi() const
float cellWidth() const
Returns the cell width.
LocalPoint toLocal(const GlobalPoint &gp) const
Conversion to the R.F. of the GeomDet.
virtual DTChamberId chamberId() const
The (specific) DetId of the chamber on which the segment resides.
const Plane & surface() const
The nominal surface of the GeomDet.
const DTTopology & specificTopology() const
DTTrigGeomUtils(edm::ESHandle< DTGeometry > muonGeom, bool dirInDeg=true)
Constructor.
const Surface::PositionType & position() const
The position (origin of the R.F.)
LocalPoint toLocal(const GlobalPoint &gp) const
Cos< T >::type cos(const T &t)
Tan< T >::type tan(const T &t)
Abs< T >::type abs(const T &t)
void phiRange(const DTChamberId &id, float &min, float &max, int &nbins, float step=15)
Compute phi range in local chamber coordinates.
int channels() const
Returns the number of wires in the layer.
bool hasPosRF(int wh, int sec)
Checks id the chamber has positive RF;.
edm::ESHandle< DTGeometry > muonGeom_
const DTLayer * layer(const DTLayerId &id) const
Return a layer given its id.
float trigPos(const L1MuDTChambPhDigi *trig)
Return local position (trigger RF) for a given trigger primitive.
int station() const
Return the station number.
void computeSCCoordinates(const DTRecSegment4D *track, int &scsec, float &x, float &xdir, float &y, float &ydir)
Compute track coordinates with SC sector numbering.