Belle II Software  release-08-01-10
SVDOccupancyCalibrations.h
1 /**************************************************************************
2  * basf2 (Belle II Analysis Software Framework) *
3  * Author: The Belle II Collaboration *
4  * *
5  * See git log for contributors and copyright holders. *
6  * This file is licensed under LGPL-3.0, see LICENSE.md. *
7  **************************************************************************/
8 
9 #pragma once
10 
11 #include <vxd/dataobjects/VxdID.h>
12 #include <svd/dbobjects/SVDCalibrationsBase.h>
13 #include <svd/dbobjects/SVDCalibrationsVector.h>
14 #include <framework/database/DBObjPtr.h>
15 
16 #include <string>
17 
18 namespace Belle2 {
31  public:
32  static std::string name;
35  // unused at the moment, but do not forget it!
36  // static std::string threshold_name; /**< name of the threshold payload */
37  // typedef SVDCalibrationsBase< SVDCalibrationsVector< float > > t_threshold_payload; /**< typedef of the threshold payload of all SVD strips*/
38 
41  : m_aDBObjPtr(name)
42  {
43  m_aDBObjPtr.addCallback([ this ](const std::string&) -> void {
44  B2DEBUG(20, "SVDOccupancyCalibrations: from now on we are using " <<
45  this->m_aDBObjPtr -> get_uniqueID()); });
46  }
47 
48 
58  inline float getOccupancy(const VxdID& sensorID, const bool& isU, const unsigned short& strip) const
59  {
60  return m_aDBObjPtr->get(sensorID.getLayerNumber(), sensorID.getLadderNumber(),
61  sensorID.getSensorNumber(), m_aDBObjPtr->sideIndex(isU),
62  strip);
63  }
64 
65 
67  TString getUniqueID() { return m_aDBObjPtr->get_uniqueID(); }
68 
70  bool isValid() { return m_aDBObjPtr.isValid(); }
71 
72  private:
76  };
78 }
79 
Class for accessing objects in the database.
Definition: DBObjPtr.h:21
base class for calibrations classes
This class defines the dbobject and the method to access SVD calibrations from the noise local runs.
SVDCalibrationsBase< SVDCalibrationsVector< float > > t_payload
typedef of the Occupancy payload of all SVD strips
float getOccupancy(const VxdID &sensorID, const bool &isU, const unsigned short &strip) const
This is the method for getting the occupancy, or the deviation from the average, still to be decided.
static std::string name
name of the ccupancy payload
SVDOccupancyCalibrations()
Constructor, no input argument is required.
TString getUniqueID()
returns the unique ID of the payload
DBObjPtr< t_payload > m_aDBObjPtr
payload of the occupancy
bool isValid()
returns true if the m_aDBObtPtr is valid in the requested IoV
Class to uniquely identify a any structure of the PXD and SVD.
Definition: VxdID.h:33
baseType getSensorNumber() const
Get the sensor id.
Definition: VxdID.h:100
baseType getLadderNumber() const
Get the ladder id.
Definition: VxdID.h:98
baseType getLayerNumber() const
Get the layer id.
Definition: VxdID.h:96
Abstract base class for different kinds of events.