CMS 3D CMS Logo

Public Member Functions | Public Attributes

DTTMax::InfoLayer Struct Reference

#include <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(), gather_cfg::cout, DTRecHit1D::digiTime(), 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().

                                                                    :
  rh(rh_), idWire(rh.wireId()), lr(rh.lrSide()) {
    const DTLayer*  layer = isl.layer(idWire.layerId());
    LocalPoint wirePosInLayer(layer->specificTopology().wirePosition(idWire.wire()), 0, 0);
    LocalPoint wirePosInSL=isl.toLocal(layer->toGlobal(wirePosInLayer));
    wireX = wirePosInSL.x();
    
    //-- Correction for signal propagation along wire, t0 subtraction,
    LocalVector segDir =  layer->toLocal(dir);
    LocalPoint segPos = layer->toLocal(pos);
    LocalPoint segPosAtLayer = segPos + segDir*(-segPos.z())/cos(segDir.theta());
    LocalPoint hitPos(rh.localPosition().x() ,segPosAtLayer.y(),0.);
    time = rh.digiTime() - sync->offset(layer, idWire, layer->toGlobal(hitPos));
 
    if (time < 0. || time > 415.) {
      // FIXME introduce time window to reject "out-of-time" digis
      cout << " *** WARNING time = " << time << endl;
    }
  }

Member Data Documentation

Definition at line 67 of file DTTMax.h.

Referenced by InfoLayer().

Definition at line 68 of file DTTMax.h.

Definition at line 66 of file DTTMax.h.

Referenced by InfoLayer().

Definition at line 70 of file DTTMax.h.

Referenced by InfoLayer().

Definition at line 69 of file DTTMax.h.

Referenced by InfoLayer().