35 for (
int ist=1; ist<=4; ++ist) {
67 scsec = sector>12 ? sector==13 ? 4 : 10 : sector;
68 float xcenter = (scsec==4||scsec==10) ? (sector-12.9)/
abs(sector-12.9)*
xCenter_[(sector==10||sector==14)] : 0.;
78 int sector =
id.sector();
86 if (station==4 && (sector==4 || sector == 10)){
90 nbins =
static_cast<int>((max-
min)/step);
105 nbins =
static_cast<int>((max-
min)/step);
115 int wh = trig->
whNum();
116 int sec = trig->
scNum()+1;
117 int st = trig->
stNum();
125 if (sec==4 && st==4) {
128 phicenter = gpos.
phi();
130 }
else if (sec==10 && st==4) {
133 phicenter = gpos.
phi();
137 phicenter = gpos.
phi();
141 float deltaphi = phicenter-phin;
142 float x = (
tan(phi/4096.)-
tan(deltaphi))*(r*
cos(deltaphi) -
zcn_[st-1]);
154 int wh = trig->
whNum();
155 int sec = trig->
scNum()+1;
157 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.