#include <DTLinearDriftAlgo.h>
Public Member Functions | |
virtual bool | compute (const DTLayer *layer, const DTDigi &digi, LocalPoint &leftPoint, LocalPoint &rightPoint, LocalError &error) const |
virtual bool | compute (const DTLayer *layer, const DTRecHit1D &recHit1D, const float &angle, DTRecHit1D &newHit1D) const |
virtual bool | compute (const DTLayer *layer, const DTRecHit1D &recHit1D, const float &angle, const GlobalPoint &globPos, DTRecHit1D &newHit1D) const |
DTLinearDriftAlgo (const edm::ParameterSet &config) | |
Constructor. More... | |
virtual void | setES (const edm::EventSetup &setup) |
Pass the Event Setup to the algo at each event. More... | |
virtual | ~DTLinearDriftAlgo () |
Destructor. More... | |
Public Member Functions inherited from DTRecHitBaseAlgo | |
DTRecHitBaseAlgo (const edm::ParameterSet &config) | |
Constructor. More... | |
virtual edm::OwnVector < DTRecHit1DPair > | reconstruct (const DTLayer *layer, const DTLayerId &layerId, const DTDigiCollection::Range &digiRange) |
Build all hits in the range associated to the layerId, at the 1st step. More... | |
virtual | ~DTRecHitBaseAlgo () |
Destructor. More... | |
Private Member Functions | |
virtual bool | compute (const DTLayer *layer, const DTWireId &wireId, const float digiTime, const GlobalPoint &globPos, LocalPoint &leftPoint, LocalPoint &rightPoint, LocalError &error, int step) const |
virtual bool | compute (const DTLayer *layer, const DTWireId &wireId, const float digiTime, const GlobalPoint &globPos, DTRecHit1D &newHit1D, int step) const |
Static Private Attributes | |
static bool | debug |
static float | hitResolution |
static float | maxTime |
static float | minTime |
static float | vDrift |
Additional Inherited Members | |
Protected Attributes inherited from DTRecHitBaseAlgo | |
DTTTrigBaseSync * | theSync |
Concrete implementation of DTRecHitBaseAlgo. Compute drift distance using constant drift velocity as defined in the "driftVelocity" parameter.
Definition at line 18 of file DTLinearDriftAlgo.h.
DTLinearDriftAlgo::DTLinearDriftAlgo | ( | const edm::ParameterSet & | config | ) |
Constructor.
Definition at line 20 of file DTLinearDriftAlgo.cc.
References debug, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), hitResolution, maxTime, minTime, and vDrift.
|
virtual |
|
virtual |
First step in computation of Left/Right hits from a Digi. The results are the local position (in DTLayer frame) of the Left and Right hit, and the error (which is common). Returns false on failure. The hit is assumed to be at the wire center.
Implements DTRecHitBaseAlgo.
Definition at line 49 of file DTLinearDriftAlgo.cc.
References error, DTLayer::id(), DTTopology::isWireValid(), DTLayer::specificTopology(), DTDigi::time(), GeomDet::toGlobal(), DTDigi::wire(), and DTTopology::wirePosition().
Referenced by compute().
|
virtual |
Second step in hit position computation. It is the same as first step since the angular information is not used NOTE: Only position and error of the new hit are modified
Implements DTRecHitBaseAlgo.
Definition at line 69 of file DTLinearDriftAlgo.cc.
References DTRecHit1D::localPosition(), DTRecHit1D::localPositionError(), and DTRecHit1D::setPositionAndError().
|
virtual |
Third (and final) step in hits position computation. Also the hit position along the wire is available and can be used to correct the drift time for particle TOF and propagation of signal along the wire. NOTE: Only position and error of the new hit are modified
Implements DTRecHitBaseAlgo.
Definition at line 80 of file DTLinearDriftAlgo.cc.
References compute(), DTRecHit1D::digiTime(), and DTRecHit1D::wireId().
|
privatevirtual |
Definition at line 91 of file DTLinearDriftAlgo.cc.
References gather_cfg::cout, debug, shallow::drift(), hitResolution, DTTopology::isWireValid(), maxTime, DTTTrigBaseSync::offset(), DTLayer::specificTopology(), DTRecHitBaseAlgo::theSync, vDrift, DTWireId::wire(), DTTopology::wirePosition(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
|
privatevirtual |
Definition at line 158 of file DTLinearDriftAlgo.cc.
References compute(), error, edm::hlt::Exception, DTEnums::Left, DTRecHit1D::localPosition(), DTRecHit1D::lrSide(), DTEnums::Right, DTRecHit1D::setPositionAndError(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
|
virtual |
Pass the Event Setup to the algo at each event.
Implements DTRecHitBaseAlgo.
Definition at line 42 of file DTLinearDriftAlgo.cc.
References DTTTrigBaseSync::setES(), and DTRecHitBaseAlgo::theSync.
|
staticprivate |
Definition at line 100 of file DTLinearDriftAlgo.h.
Referenced by compute(), and DTLinearDriftAlgo().
|
staticprivate |
Definition at line 91 of file DTLinearDriftAlgo.h.
Referenced by compute(), and DTLinearDriftAlgo().
|
staticprivate |
Definition at line 97 of file DTLinearDriftAlgo.h.
Referenced by compute(), and DTLinearDriftAlgo().
|
staticprivate |
Definition at line 94 of file DTLinearDriftAlgo.h.
Referenced by DTLinearDriftAlgo().
|
staticprivate |
Definition at line 86 of file DTLinearDriftAlgo.h.
Referenced by compute(), and DTLinearDriftAlgo().