CMS 3D CMS Logo

DTTMax::InfoLayer Struct Reference

#include <CalibMuon/DTCalibration/interface/DTTMax.h>

List of all members.

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


Detailed Description

Definition at line 63 of file DTTMax.h.


Constructor & Destructor Documentation

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   }


Member Data Documentation

DTWireId DTTMax::InfoLayer::idWire

Definition at line 67 of file DTTMax.h.

Referenced by InfoLayer().

DTEnums::DTCellSide DTTMax::InfoLayer::lr

Definition at line 68 of file DTTMax.h.

DTRecHit1D DTTMax::InfoLayer::rh

Definition at line 66 of file DTTMax.h.

Referenced by InfoLayer().

float DTTMax::InfoLayer::time

Definition at line 70 of file DTTMax.h.

Referenced by InfoLayer().

float DTTMax::InfoLayer::wireX

Definition at line 69 of file DTTMax.h.

Referenced by InfoLayer().


The documentation for this struct was generated from the following files:
Generated on Tue Jun 9 18:19:08 2009 for CMSSW by  doxygen 1.5.4