Belle II Software development
SVDAbsoluteClusterTimeShift Class Reference

This class store the shift of the cluster time w.r.t a full calibration. More...

#include <SVDAbsoluteClusterTimeShift.h>

Inheritance diagram for SVDAbsoluteClusterTimeShift:

Public Member Functions

 SVDAbsoluteClusterTimeShift (const TString &uniqueID="")
 Default constructor.
 
Double_t getAbsTimeShift (const TString &alg, const int &layer, const bool &isU) const
 Returns cluster time shift in ns.
 
void setClusterTimeShift (const TString &alg, const TString &sensorType, const Double_t shiftValue)
 Sets the cluster time shift in ns.
 
TString get_uniqueID () const
 Get the unique ID of the payload.
 

Static Public Attributes

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

Protected Member Functions

TString getSensorType (const int &layer, const bool &isU) const
 Returns the types of sensor grouping.
 

Private Member Functions

 ClassDef (SVDAbsoluteClusterTimeShift, 1)
 needed by root
 

Private Attributes

TString m_uniqueID
 unique identifier of the SVD reconstruction configuration payload
 
std::map< TString, std::map< TString, Double_t > > m_svdAbsTimeShift
 cluster time shifts
 

Detailed Description

This class store the shift of the cluster time w.r.t a full calibration.

The shift depends on the algorithm, side and layer. The shift should be subtracted from the calibrated cluster time.

Definition at line 29 of file SVDAbsoluteClusterTimeShift.h.

Constructor & Destructor Documentation

◆ SVDAbsoluteClusterTimeShift()

SVDAbsoluteClusterTimeShift ( const TString & uniqueID = "")
inline

Default constructor.

Definition at line 34 of file SVDAbsoluteClusterTimeShift.h.

35 : m_uniqueID(uniqueID)
36 {
37 m_svdAbsTimeShift.clear();
38 };

Member Function Documentation

◆ get_uniqueID()

TString get_uniqueID ( ) const
inline

Get the unique ID of the payload.

Definition at line 76 of file SVDAbsoluteClusterTimeShift.h.

76{return m_uniqueID;}

◆ getAbsTimeShift()

Double_t getAbsTimeShift ( const TString & alg,
const int & layer,
const bool & isU ) const
inline

Returns cluster time shift in ns.

Parameters
alg: Cluster time algorithm
layer: layer number
isU: is U side?
Returns
double : value of the cluster time shift

Definition at line 47 of file SVDAbsoluteClusterTimeShift.h.

49 {
50 if (auto searchAlg = m_svdAbsTimeShift.find(alg); // search for time alg
51 searchAlg != m_svdAbsTimeShift.end()) {
52 TString sensorType = getSensorType(layer, isU);
53 if (auto searchShift = (searchAlg->second).find(sensorType); // search for shift values
54 searchShift != (searchAlg->second).end())
55 return (searchShift->second);
56 }
57 return 0.; // returns zero if map is empty
58 };

◆ getSensorType()

TString getSensorType ( const int & layer,
const bool & isU ) const
inlineprotected

Returns the types of sensor grouping.

Parameters
layer: layer number
isU: is U side?
Returns
TString : type of sensor group

Definition at line 89 of file SVDAbsoluteClusterTimeShift.h.

90 {
91 return TString::Format("L%iS%c", layer, (isU ? 'U' : 'V'));
92 };

◆ setClusterTimeShift()

void setClusterTimeShift ( const TString & alg,
const TString & sensorType,
const Double_t shiftValue )
inline

Sets the cluster time shift in ns.

Parameters
alg: Cluster time algorithm
sensorType: type of sensor group
shiftValue: shift value to be set

Definition at line 66 of file SVDAbsoluteClusterTimeShift.h.

68 {
69 B2INFO("Shift value for " << alg << " and " << sensorType << " is set.");
70 m_svdAbsTimeShift[alg][sensorType] = shiftValue;
71 };

Member Data Documentation

◆ m_svdAbsTimeShift

std::map<TString, std::map<TString, Double_t> > m_svdAbsTimeShift
private

cluster time shifts

Definition at line 100 of file SVDAbsoluteClusterTimeShift.h.

◆ m_uniqueID

TString m_uniqueID
private

unique identifier of the SVD reconstruction configuration payload

Definition at line 97 of file SVDAbsoluteClusterTimeShift.h.

◆ name

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

name of the payload

Definition at line 79 of file SVDAbsoluteClusterTimeShift.h.


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