CMS 3D CMS Logo

Public Member Functions

RPCRecHitBaseAlgo Class Reference

#include <RPCRecHitBaseAlgo.h>

Inheritance diagram for RPCRecHitBaseAlgo:
RPCRecHitStandardAlgo

List of all members.

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< RPCRecHitreconstruct (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.

Detailed Description

Abstract algorithmic class to compute Rec Hit form a RPC digi

Date:
2008/12/04 16:03:26
Revision:
1.4
Author:
M. Maggi -- INFN Bari

Definition at line 34 of file RPCRecHitBaseAlgo.h.


Constructor & Destructor Documentation

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]

Destructor.

Definition at line 28 of file RPCRecHitBaseAlgo.cc.

{}

Member Function Documentation

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 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.