Belle II Software development
SVDCrossTalkStripsCalibrations Class Reference

This class defines the dbobject and the method to access strips which are masked at FADC level. More...

#include <SVDCrossTalkStripsCalibrations.h>

Public Types

typedef SVDCalibrationsBase< SVDCalibrationsBitmapt_payload
 typedef of the SVDCrossTalkStripsCalibrations payload for all SVD strips
 

Public Member Functions

 SVDCrossTalkStripsCalibrations ()
 Constructor, no input argument is required.
 
bool isCrossTalkStrip (const VxdID &sensorID, const bool &isU, const unsigned short &strip) const
 This is the method for getting the comprehensive list of strips flagged as "cross talk" by the SVDCrossTalkFinderModule.
 
bool isInCrossTalkRegion (const VxdID &sensorID, const bool &isU, const float &clsPosition)
 This is the method for checking if a given region is affected by Cross Talk, according to the bitmap of strips flagged as cross talk.
 
TString getUniqueID ()
 returns the unique ID of the payload
 
bool isValid ()
 returns true if the m_aDBObtPtr is valid in the requested IoV
 

Static Public Attributes

static std::string name = std::string("SVDCrossTalkStripsCalibrations")
 name of the SVDCrossTalkStripsCalibrations payload
 

Private Attributes

DBObjPtr< t_payloadm_aDBObjPtr
 SVDCrossTalkStripsCalibrations payload.
 

Detailed Description

This class defines the dbobject and the method to access strips which are masked at FADC level.

Definition at line 32 of file SVDCrossTalkStripsCalibrations.h.

Member Typedef Documentation

◆ t_payload

typedef of the SVDCrossTalkStripsCalibrations payload for all SVD strips

Definition at line 36 of file SVDCrossTalkStripsCalibrations.h.

Constructor & Destructor Documentation

◆ SVDCrossTalkStripsCalibrations()

Constructor, no input argument is required.

Definition at line 39 of file SVDCrossTalkStripsCalibrations.h.

40 {
41 m_aDBObjPtr.addCallback([ this ](const std::string&) -> void {
42 B2DEBUG(20, "SVDCrossTalkStripsCalibrations: from now on we are using " <<
43 this->m_aDBObjPtr -> get_uniqueID()); });
44 }
static std::string name
name of the SVDCrossTalkStripsCalibrations payload
DBObjPtr< t_payload > m_aDBObjPtr
SVDCrossTalkStripsCalibrations payload.

Member Function Documentation

◆ getUniqueID()

TString getUniqueID ( )
inline

returns the unique ID of the payload

Definition at line 80 of file SVDCrossTalkStripsCalibrations.h.

80{ return m_aDBObjPtr->get_uniqueID(); }

◆ isCrossTalkStrip()

bool isCrossTalkStrip ( const VxdID sensorID,
const bool &  isU,
const unsigned short &  strip 
) const
inline

This is the method for getting the comprehensive list of strips flagged as "cross talk" by the SVDCrossTalkFinderModule.

Input:

Parameters
sensorIDidentity of the sensor for which the calibration is required
isUsensor side, true for p (u) side, false for n (v) side
stripstrip number

Output: boolean value, 1 is cross talk strip, 0 otherwise. it throws std::out_of_range if the strip is unknown

Definition at line 58 of file SVDCrossTalkStripsCalibrations.h.

59 {
60 return m_aDBObjPtr->get(sensorID.getLayerNumber(), sensorID.getLadderNumber(),
61 sensorID.getSensorNumber(), m_aDBObjPtr->sideIndex(isU),
62 strip);
63 }

◆ isInCrossTalkRegion()

bool isInCrossTalkRegion ( const VxdID sensorID,
const bool &  isU,
const float &  clsPosition 
)

This is the method for checking if a given region is affected by Cross Talk, according to the bitmap of strips flagged as cross talk.

Input:

Parameters
sensorIDidentity of the sensor for which the calibration is required
isUsensor side, true for p (u) side, false for n (v) side
clsPositioncluster position in cm

Output: boolean value, 1 is cross talk region, 0 otherwise. it throws std::out_of_range if the strip is unknown

SensorInfo class providing information about the current sensor

getting the pitch dimension for u-side

getting the pitch dimension for v-side

Definition at line 16 of file SVDCrossTalkStripsCalibrations.cc.

17{
18 const VXD::SensorInfoBase* currentSensorInfo = dynamic_cast<const VXD::SensorInfoBase*>(&VXD::GeoCache::getInstance().getSensorInfo(
19 sensorID));
21 float m_uPitch = currentSensorInfo->getUPitch(0);
23 float m_vPitch = currentSensorInfo->getVPitch(0);
25 float currentPitch;
26 if (isU) currentPitch = m_uPitch;
27 else currentPitch = m_vPitch;
28
29 return isCrossTalkStrip(sensorID, isU, (int)(clsPosition / currentPitch + 0.5));
30}
bool isCrossTalkStrip(const VxdID &sensorID, const bool &isU, const unsigned short &strip) const
This is the method for getting the comprehensive list of strips flagged as "cross talk" by the SVDCro...
const SensorInfoBase & getSensorInfo(Belle2::VxdID id) const
Return a referecne to the SensorInfo of a given SensorID.
Definition: GeoCache.cc:67
static GeoCache & getInstance()
Return a reference to the singleton instance.
Definition: GeoCache.cc:214

◆ isValid()

bool isValid ( )
inline

returns true if the m_aDBObtPtr is valid in the requested IoV

Definition at line 83 of file SVDCrossTalkStripsCalibrations.h.

83{ return m_aDBObjPtr.isValid(); }

Member Data Documentation

◆ m_aDBObjPtr

DBObjPtr< t_payload > m_aDBObjPtr
private

◆ name

std::string name = std::string("SVDCrossTalkStripsCalibrations")
static

name of the SVDCrossTalkStripsCalibrations payload

Definition at line 34 of file SVDCrossTalkStripsCalibrations.h.


The documentation for this class was generated from the following files: