CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
ESUnpackerWorker Class Reference

#include <ESUnpackerWorker.h>

Inheritance diagram for ESUnpackerWorker:
EcalUnpackerWorkerBase

Public Member Functions

 ESUnpackerWorker (const edm::ParameterSet &conf)
 
unsigned int maxElementIndex () const
 
void set (const edm::EventSetup &es) const
 
void setHandles (const EcalUnpackerWorkerRecord &iRecord)
 
void update (const edm::Event &e) const
 
std::auto_ptr
< EcalRecHitCollection
work (const uint32_t &i, const FEDRawDataCollection &) const
 
void write (edm::Event &e) const
 
 ~ESUnpackerWorker ()
 
- Public Member Functions inherited from EcalUnpackerWorkerBase
 EcalUnpackerWorkerBase ()
 
virtual ~EcalUnpackerWorkerBase ()
 

Private Attributes

ESUnpackerESUnpacker_
 
ESRecHitWorkerBaseClassRHWorker_
 

Additional Inherited Members

- Protected Attributes inherited from EcalUnpackerWorkerBase
const edm::Eventevt
 

Detailed Description

Definition at line 24 of file ESUnpackerWorker.h.

Constructor & Destructor Documentation

ESUnpackerWorker::ESUnpackerWorker ( const edm::ParameterSet conf)

Definition at line 6 of file ESUnpackerWorker.cc.

References ESUnpacker_, reco::get(), edm::ParameterSet::getParameter(), and RHWorker_.

6  {
7 
8  edm::ParameterSet DCCpset = conf.getParameter<edm::ParameterSet>("DCCDataUnpacker");
9  ESUnpacker_ = new ESUnpacker(DCCpset);
10 
12  std::string componentType = RH.getParameter<std::string>("Type");
13  RHWorker_ = ESRecHitWorkerFactory::get()->create(componentType, RH);
14 
15 }
T getParameter(std::string const &) const
ESUnpacker * ESUnpacker_
ESRecHitWorkerBaseClass * RHWorker_
T get(const Candidate &c)
Definition: component.h:56
ESUnpackerWorker::~ESUnpackerWorker ( )

Definition at line 17 of file ESUnpackerWorker.cc.

References ESUnpacker_, and RHWorker_.

17  {
18  delete ESUnpacker_;
19  delete RHWorker_;
20 }
ESUnpacker * ESUnpacker_
ESRecHitWorkerBaseClass * RHWorker_

Member Function Documentation

unsigned int ESUnpackerWorker::maxElementIndex ( ) const
inlinevirtual

Reimplemented from EcalUnpackerWorkerBase.

Definition at line 42 of file ESUnpackerWorker.h.

References EcalRegionCabling::maxESElementIndex().

static uint32_t maxESElementIndex()
void ESUnpackerWorker::set ( const edm::EventSetup es) const
virtual

Reimplemented from EcalUnpackerWorkerBase.

Definition at line 26 of file ESUnpackerWorker.cc.

References RHWorker_, and ESRecHitWorkerBaseClass::set().

26  {
27  RHWorker_->set(es);
28 }
virtual void set(const edm::EventSetup &es)=0
ESRecHitWorkerBaseClass * RHWorker_
void ESUnpackerWorker::setHandles ( const EcalUnpackerWorkerRecord iRecord)
virtual

Reimplemented from EcalUnpackerWorkerBase.

Definition at line 22 of file ESUnpackerWorker.cc.

22  {
23 
24 }
void ESUnpackerWorker::update ( const edm::Event e) const
virtual

keep the event

Reimplemented from EcalUnpackerWorkerBase.

Definition at line 34 of file ESUnpackerWorker.cc.

References EcalUnpackerWorkerBase::evt.

Referenced by python.Vispa.Gui.VispaWidget.VispaWidget::autosize(), python.Vispa.Views.LineDecayView.LineDecayContainer::createObject(), python.Vispa.Views.LineDecayView.LineDecayContainer::deselectAllObjects(), python.Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::deselectAllWidgets(), python.Vispa.Gui.VispaWidget.VispaWidget::enableAutosizing(), python.Vispa.Gui.MenuWidget.MenuWidget::leaveEvent(), python.Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseMoveEvent(), python.Vispa.Gui.MenuWidget.MenuWidget::mouseMoveEvent(), python.Vispa.Views.LineDecayView.LineDecayContainer::mouseMoveEvent(), python.Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseReleaseEvent(), python.Vispa.Views.LineDecayView.LineDecayContainer::objectMoved(), python.Vispa.Views.LineDecayView.LineDecayContainer::removeObject(), python.Vispa.Gui.ConnectableWidget.ConnectableWidget::removePorts(), python.Vispa.Gui.FindDialog.FindDialog::reset(), python.Vispa.Gui.PortConnection.PointToPointConnection::select(), python.Vispa.Gui.VispaWidget.VispaWidget::select(), python.Vispa.Views.LineDecayView.LineDecayContainer::select(), python.Vispa.Gui.VispaWidget.VispaWidget::setText(), python.Vispa.Gui.VispaWidget.VispaWidget::setTitle(), python.Vispa.Gui.ZoomableWidget.ZoomableWidget::setZoom(), python.Vispa.Views.LineDecayView.LineDecayContainer::setZoom(), and python.Vispa.Gui.PortConnection.PointToPointConnection::updateConnection().

34  {
36  evt=&e;
37 }
std::auto_ptr< EcalRecHitCollection > ESUnpackerWorker::work ( const uint32_t &  i,
const FEDRawDataCollection rawdata 
) const
virtual

Reimplemented from EcalUnpackerWorkerBase.

Definition at line 40 of file ESUnpackerWorker.cc.

References edm::SortedCollection< T, SORT >::begin(), edm::SortedCollection< T, SORT >::end(), EcalRegionCabling::esFedIndex(), ESUnpacker_, EcalUnpackerWorkerBase::evt, FEDRawDataCollection::FEDData(), ESUnpacker::interpretRawData(), MyWatcher::lap(), LogDebug, RHWorker_, ESRecHitWorkerBaseClass::run(), and edm::SortedCollection< T, SORT >::size().

40  {
41  MyWatcher watcher("Worker");
42  LogDebug("ESRawToRecHit|Worker")<<"is going to work on index: "<<index
43  <<watcher.lap();
44 
45  int fedIndex = EcalRegionCabling::esFedIndex(index);
46 
47 
48  const FEDRawData & fedData = rawdata.FEDData(fedIndex);
49 
50  //###### get the digi #######
51  ESRawDataCollection productDCC;
52  ESLocalRawDataCollection productKCHIP;
53  ESDigiCollection productdigis;
54 
55  ESUnpacker_->interpretRawData(fedIndex, fedData, productDCC, productKCHIP, productdigis);
56 
57  LogDebug("ESRawToRecHit|Worker")<<"unpacked "<<productdigis.size()<<" digis"
58  <<watcher.lap();
59 
60 
61  //then make rechits
62  ESDigiCollection::const_iterator beginDigiES = productdigis.begin();
63  ESDigiCollection::const_iterator endDigiES = productdigis.end();
64 
65  std::auto_ptr< EcalRecHitCollection > ecalrechits( new EcalRecHitCollection );
66 
67  ecalrechits->reserve(productdigis.size());
68 
69  ESDigiCollection::const_iterator esIt=beginDigiES;
70  for (;esIt!=endDigiES;++esIt){
71  RHWorker_->run( *evt, esIt, *ecalrechits );
72  }
73 
74  LogDebug("ESRawToRecHit|Worker")<<" made : "<<ecalrechits->size()<<" es rechits"
75  <<watcher.lap();
76 
77  return ecalrechits;
78 }
#define LogDebug(id)
std::vector< T >::const_iterator const_iterator
const FEDRawData & FEDData(int fedid) const
retrieve data for fed
ESUnpacker * ESUnpacker_
void interpretRawData(int fedId, const FEDRawData &rawData, ESRawDataCollection &dccs, ESLocalRawDataCollection &kchips, ESDigiCollection &digis)
Definition: ESUnpacker.cc:53
const_iterator end() const
virtual bool run(const edm::Event &evt, const ESDigiCollection::const_iterator &digi, ESRecHitCollection &result)=0
static int esFedIndex(const uint32_t index)
size_type size() const
ESRecHitWorkerBaseClass * RHWorker_
const_iterator begin() const
void ESUnpackerWorker::write ( edm::Event e) const
virtual

Reimplemented from EcalUnpackerWorkerBase.

Definition at line 30 of file ESUnpackerWorker.cc.

30  {
31 
32 }

Member Data Documentation

ESUnpacker* ESUnpackerWorker::ESUnpacker_
private

Definition at line 46 of file ESUnpackerWorker.h.

Referenced by ESUnpackerWorker(), work(), and ~ESUnpackerWorker().

ESRecHitWorkerBaseClass* ESUnpackerWorker::RHWorker_
private

Definition at line 47 of file ESUnpackerWorker.h.

Referenced by ESUnpackerWorker(), set(), work(), and ~ESUnpackerWorker().