#include <CalibMuon/DTCalibration/interface/DTTMax.h>
Public Member Functions | |
InfoLayer (DTRecHit1D rh_, const DTSuperLayer &isl, GlobalVector dir, GlobalPoint pos, DTTTrigBaseSync *sync) | |
Public Attributes | |
DTWireId | idWire |
DTEnums::DTCellSide | lr |
DTRecHit1D | rh |
float | time |
float | wireX |
Definition at line 63 of file DTTMax.h.
DTTMax::InfoLayer::InfoLayer | ( | DTRecHit1D | rh_, | |
const DTSuperLayer & | isl, | |||
GlobalVector | dir, | |||
GlobalPoint | pos, | |||
DTTTrigBaseSync * | sync | |||
) |
Definition at line 23 of file DTTMax.cc.
References funct::cos(), GenMuonPlsPt100GeV_cfg::cout, DTRecHit1D::digiTime(), lat::endl(), idWire, DTSuperLayer::layer(), DTWireId::layerId(), DTRecHit1D::localPosition(), DTTTrigBaseSync::offset(), rh, DTLayer::specificTopology(), PV3DBase< T, PVType, FrameType >::theta(), time, GeomDet::toGlobal(), GeomDet::toLocal(), DTWireId::wire(), DTTopology::wirePosition(), wireX, PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
00024 : 00025 rh(rh_), idWire(rh.wireId()), lr(rh.lrSide()) { 00026 const DTLayer* layer = isl.layer(idWire.layerId()); 00027 LocalPoint wirePosInLayer(layer->specificTopology().wirePosition(idWire.wire()), 0, 0); 00028 LocalPoint wirePosInSL=isl.toLocal(layer->toGlobal(wirePosInLayer)); 00029 wireX = wirePosInSL.x(); 00030 00031 //-- Correction for signal propagation along wire, t0 subtraction, 00032 LocalVector segDir = layer->toLocal(dir); 00033 LocalPoint segPos = layer->toLocal(pos); 00034 LocalPoint segPosAtLayer = segPos + segDir*(-segPos.z())/cos(segDir.theta()); 00035 LocalPoint hitPos(rh.localPosition().x() ,segPosAtLayer.y(),0.); 00036 time = rh.digiTime() - sync->offset(layer, idWire, layer->toGlobal(hitPos)); 00037 00038 if (time < 0. || time > 415.) { 00039 // FIXME introduce time window to reject "out-of-time" digis 00040 cout << " *** WARNING time = " << time << endl; 00041 } 00042 }
float DTTMax::InfoLayer::time |
float DTTMax::InfoLayer::wireX |