CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
SiPixelCalibDigiProducer.h
Go to the documentation of this file.
1 #ifndef CALIBTRACKER_SIPIXELCALIBDIGIPRODUCER_H
2 #define CALIBTRACKER_SIPIXELCALIBDIGIPRODUCER_H
3 
4 //
5 // Package: SiPixelCalibDigiProducer
6 // Class: SiPixelCalibDigiProducer
7 //
15 //
16 // Original Author: Freya Blekman
17 // Created: Wed Oct 31 15:28:52 CET 2007
18 // $Id: SiPixelCalibDigiProducer.h,v 1.13 2013/02/27 14:26:41 davidlt Exp $
19 //
20 //
21 
22 // system include files
23 #include <memory>
24 
25 // user include files
31 
33 
36 
38 
43 
48 
49 #include <map>
50 #include <vector>
51 #include <iostream>
52 //
53 // class decleration
54 //
55 
57  public:
58  explicit SiPixelCalibDigiProducer(const edm::ParameterSet& iConfig);
60 
61  private:
62 
63  virtual void produce(edm::Event& iEvent, const edm::EventSetup& iSetup) override;
64  virtual bool store();
65  virtual void setPattern();
66  virtual void fill(edm::Event &iEvent, const edm::EventSetup& iSetup);
67  virtual void fillPixel(uint32_t detid, short row, short col,short ipoint, short adc);
68  virtual bool checkPixel(uint32_t detid, short row, short col);
69  virtual bool checkFED(uint32_t detid);
70  virtual void clear();
71  typedef std::pair<uint32_t,std::pair<short,short> > pixelstruct;
72  // ----------member data ---------------------------
74  uint32_t iEventCounter_;
75 
79  int errorType;
85 
86  edm::ESHandle<SiPixelCalibConfiguration> calib_; // keeps track of the calibration constants
89 
90  // worker variables
91  std::map<pixelstruct,SiPixelCalibDigi> intermediate_data_; // data container, copied over into the event every pattern_repeat_ events
92  std::map<pixelstruct,SiPixelCalibDigiError> error_data_;
93  // std::vector<SiPixelCalibDigi> intermediate_data_; // data container, copied over into the event every pattern_repeat_ events
94  std::vector<pixelstruct> detPixelMap_;// map to keep track of which pixels are filled where in intermediate_data_
95  uint32_t pattern_repeat_; // keeps track of when the pattern should change
96  std::map<uint32_t,uint32_t> detid_to_fedid_; // keeps track in which fed each detid is present.
97 
98  std::vector<std::pair<short,short> > currentpattern_;// keeps track of which pattern we are at
99  std::pair<short,short> currentpair_;//worker class to keep track of pairs
100 };
101 
102 
103 #endif
int adc(sample_type sample)
get the ADC sample (12 bits)
std::pair< uint32_t, std::pair< short, short > > pixelstruct
virtual void fill(edm::Event &iEvent, const edm::EventSetup &iSetup)
virtual bool checkFED(uint32_t detid)
std::map< uint32_t, uint32_t > detid_to_fedid_
int iEvent
Definition: GenABIO.cc:243
std::map< pixelstruct, SiPixelCalibDigi > intermediate_data_
edm::ESHandle< SiPixelFedCablingMap > theCablingMap_
virtual void produce(edm::Event &iEvent, const edm::EventSetup &iSetup) override
virtual bool checkPixel(uint32_t detid, short row, short col)
std::map< pixelstruct, SiPixelCalibDigiError > error_data_
std::vector< std::pair< short, short > > currentpattern_
virtual void fillPixel(uint32_t detid, short row, short col, short ipoint, short adc)
std::vector< pixelstruct > detPixelMap_
SiPixelCalibDigiProducer(const edm::ParameterSet &iConfig)
edm::ESHandle< SiPixelCalibConfiguration > calib_
std::pair< short, short > currentpair_
int col
Definition: cuy.py:1008
edm::ESHandle< TrackerGeometry > theGeometry_