#include <RPCRecHitBaseAlgo.h>
Public Member Functions | |
virtual bool | compute (const RPCRoll &roll, const RPCCluster &cl, LocalPoint &Point, LocalError &error) const =0 |
standard local recHit computation | |
virtual bool | compute (const RPCRoll &roll, const RPCCluster &cl, const float &angle, const GlobalPoint &globPos, LocalPoint &Point, LocalError &error) const =0 |
virtual edm::OwnVector< RPCRecHit > | reconstruct (const RPCRoll &roll, const RPCDetId &rpcId, const RPCDigiCollection::Range &digiRange, const RollMask &mask) |
Build all hits in the range associated to the rpcId, at the 1st step. | |
RPCRecHitBaseAlgo (const edm::ParameterSet &config) | |
Constructor. | |
virtual void | setES (const edm::EventSetup &setup)=0 |
Pass the Event Setup to the algo at each event. | |
virtual | ~RPCRecHitBaseAlgo () |
Destructor. |
Abstract algorithmic class to compute Rec Hit form a RPC digi
Definition at line 34 of file RPCRecHitBaseAlgo.h.
RPCRecHitBaseAlgo::RPCRecHitBaseAlgo | ( | const edm::ParameterSet & | config | ) |
Constructor.
Definition at line 23 of file RPCRecHitBaseAlgo.cc.
{ // theSync = RPCTTrigSyncFactory::get()->create(config.getParameter<string>("tTrigMode"), //config.getParameter<ParameterSet>("tTrigModeConfig")); }
RPCRecHitBaseAlgo::~RPCRecHitBaseAlgo | ( | ) | [virtual] |
virtual bool RPCRecHitBaseAlgo::compute | ( | const RPCRoll & | roll, |
const RPCCluster & | cl, | ||
LocalPoint & | Point, | ||
LocalError & | error | ||
) | const [pure virtual] |
standard local recHit computation
Implemented in RPCRecHitStandardAlgo.
Referenced by reconstruct().
virtual bool RPCRecHitBaseAlgo::compute | ( | const RPCRoll & | roll, |
const RPCCluster & | cl, | ||
const float & | angle, | ||
const GlobalPoint & | globPos, | ||
LocalPoint & | Point, | ||
LocalError & | error | ||
) | const [pure virtual] |
local recHit computation accounting for track direction and absolute position
Implemented in RPCRecHitStandardAlgo.
edm::OwnVector< RPCRecHit > RPCRecHitBaseAlgo::reconstruct | ( | const RPCRoll & | roll, |
const RPCDetId & | rpcId, | ||
const RPCDigiCollection::Range & | digiRange, | ||
const RollMask & | mask | ||
) | [virtual] |
Build all hits in the range associated to the rpcId, at the 1st step.
Definition at line 32 of file RPCRecHitBaseAlgo.cc.
References cl, compute(), RPCClusterizer::doAction(), RPCMaskReClusterizer::doAction(), point, edm::OwnVector< T, P >::push_back(), and query::result.
{ edm::OwnVector<RPCRecHit> result; RPCClusterizer clizer; RPCClusterContainer tcls = clizer.doAction(digiRange); RPCMaskReClusterizer mrclizer; RPCClusterContainer cls = mrclizer.doAction(rpcId,tcls,mask); for (RPCClusterContainer::const_iterator cl = cls.begin(); cl != cls.end(); cl++){ LocalError tmpErr; LocalPoint point; // Call the compute method bool OK = this->compute(roll, *cl, point, tmpErr); if (!OK) continue; // Build a new pair of 1D rechit int firstClustStrip= cl->firstStrip(); int clusterSize=cl->clusterSize(); RPCRecHit* recHit = new RPCRecHit(rpcId,cl->bx(),firstClustStrip,clusterSize,point,tmpErr); result.push_back(recHit); } return result; }
virtual void RPCRecHitBaseAlgo::setES | ( | const edm::EventSetup & | setup | ) | [pure virtual] |
Pass the Event Setup to the algo at each event.
Implemented in RPCRecHitStandardAlgo.