Belle II Software  release-05-01-25
PXDPixelMasker.h
1 /**************************************************************************
2 * BASF2 (Belle Analysis Framework 2) *
3 * Copyright(C) 2010 - Belle II Collaboration *
4 * *
5 * Author: The Belle II Collaboration *
6 * Contributors: Benjamin Schwenker *
7 * *
8 * This software is provided "as is" without any warranty. *
9 **************************************************************************/
10 
11 #pragma once
12 
13 #include <pxd/dbobjects/PXDMaskedPixelPar.h>
14 #include <pxd/dbobjects/PXDDeadPixelPar.h>
15 #include <framework/database/DBObjPtr.h>
16 #include <vxd/dataobjects/VxdID.h>
17 #include <memory>
18 
19 namespace Belle2 {
25  namespace PXD {
29  class PXDPixelMasker {
30 
31  public:
32 
34  void initialize();
35 
38 
40  void setDeadPixels();
41 
43  static PXDPixelMasker& getInstance();
44 
51  void maskSinglePixel(VxdID id, unsigned int uid, unsigned int vid);
52 
53 
60  bool pixelOK(VxdID id, unsigned int uid, unsigned int vid) const;
61 
68  bool pixelDead(VxdID id, unsigned int uid, unsigned int vid) const;
69 
72 
74  const PXDDeadPixelPar& getDeadPixelParameters() const {return m_deadPixels;}
75 
76  private:
77 
81  PXDPixelMasker(const PXDPixelMasker&) = delete;
83  PXDPixelMasker& operator=(const PXDPixelMasker&) = delete;
84 
86  std::unique_ptr<DBObjPtr<PXDMaskedPixelPar>> m_maskedPixelsFromDB;
87 
89  std::unique_ptr<DBObjPtr<PXDDeadPixelPar>> m_deadPixelsFromDB;
90 
93 
96  };
97  }
99 } //Belle2 namespace
Belle2::VxdID
Class to uniquely identify a any structure of the PXD and SVD.
Definition: VxdID.h:43
Belle2::PXD::PXDPixelMasker::m_maskedPixels
PXDMaskedPixelPar m_maskedPixels
List of masked pixels.
Definition: PXDPixelMasker.h:100
Belle2::PXD::PXDPixelMasker::m_deadPixels
PXDDeadPixelPar m_deadPixels
List of masked pixels.
Definition: PXDPixelMasker.h:103
Belle2::PXD::PXDPixelMasker::m_maskedPixelsFromDB
std::unique_ptr< DBObjPtr< PXDMaskedPixelPar > > m_maskedPixelsFromDB
Masked pixels retrieved from DB.
Definition: PXDPixelMasker.h:94
Belle2::PXD::PXDPixelMasker::setMaskedPixels
void setMaskedPixels()
Set masked pixels from DB.
Definition: PXDPixelMasker.cc:78
Belle2::PXD::PXDPixelMasker::operator=
PXDPixelMasker & operator=(const PXDPixelMasker &)=delete
Singleton class, forbidden assignment operator.
Belle2::PXDDeadPixelPar
The payload telling which PXD pixel is dead (=Readout system does not receive signals)
Definition: PXDDeadPixelPar.h:43
Belle2::PXD::PXDPixelMasker::pixelOK
bool pixelOK(VxdID id, unsigned int uid, unsigned int vid) const
Check whether a pixel on a given sensor is OK or not.
Definition: PXDPixelMasker.cc:52
Belle2::PXD::PXDPixelMasker
Singleton class for managing pixel masking for the PXD.
Definition: PXDPixelMasker.h:37
Belle2::PXD::PXDPixelMasker::m_deadPixelsFromDB
std::unique_ptr< DBObjPtr< PXDDeadPixelPar > > m_deadPixelsFromDB
Dead pixels retrieved from DB.
Definition: PXDPixelMasker.h:97
Belle2::PXD::PXDPixelMasker::initialize
void initialize()
Initialize the PXDPixelMasker.
Definition: PXDPixelMasker.cc:19
Belle2::PXD::PXDPixelMasker::getDeadPixelParameters
const PXDDeadPixelPar & getDeadPixelParameters() const
Return dead pixel payload.
Definition: PXDPixelMasker.h:82
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::PXD::PXDPixelMasker::PXDPixelMasker
PXDPixelMasker()
Singleton class, hidden constructor.
Definition: PXDPixelMasker.h:87
Belle2::PXD::PXDPixelMasker::getMaskedPixelParameters
const PXDMaskedPixelPar & getMaskedPixelParameters() const
Return masked pixel payload.
Definition: PXDPixelMasker.h:79
Belle2::PXD::PXDPixelMasker::pixelDead
bool pixelDead(VxdID id, unsigned int uid, unsigned int vid) const
Check whether a pixel on a given sensor is dead or not.
Definition: PXDPixelMasker.cc:58
Belle2::PXD::PXDPixelMasker::maskSinglePixel
void maskSinglePixel(VxdID id, unsigned int uid, unsigned int vid)
Mask single pixel.
Definition: PXDPixelMasker.cc:44
Belle2::PXD::PXDPixelMasker::setDeadPixels
void setDeadPixels()
Set dead pixels from DB.
Definition: PXDPixelMasker.cc:83
Belle2::PXD::PXDPixelMasker::getInstance
static PXDPixelMasker & getInstance()
Main (and only) way to access the PXDPixelMasker.
Definition: PXDPixelMasker.cc:37
Belle2::PXDMaskedPixelPar
The payload telling which PXD pixel to mask (ignore)
Definition: PXDMaskedPixelPar.h:34