Base class for DBObjPtr and DBArray for easier common treatment.
More...
#include <DBAccessorBase.h>
Inherited by DBArray< T >, DBObjPtr< T >, DBObjPtr< PayloadFile >, PyDBArray [private]
, PyDBObj [private]
, DBArray< Belle2::CDCChannelMap >, DBArray< Belle2::CDCDisplacement >, DBArray< Belle2::CDCFEElectronics >, DBArray< Belle2::ECLDspData >, DBArray< Belle2::ECLShowerShapeSecondMomentCorrection >, DBArray< Belle2::TestCalibObject >, DBArray< Belle2::TOPChannelMap >, DBArray< Belle2::TOPFrontEndMap >, DBArray< Belle2::TOPPmtInstallation >, DBArray< Belle2::TOPPmtQE >, DBArray< Belle2::TRGECLETMPara >, DBArray< Belle2::TRGECLFAMPara >, DBObjPtr< Belle2::ARICHAeroTilesAlignment >, DBObjPtr< Belle2::ARICHChannelMapping >, DBObjPtr< Belle2::ARICHChannelMask >, DBObjPtr< Belle2::ARICHCopperMapping >, DBObjPtr< Belle2::ARICHGeoMergerCooling >, DBObjPtr< Belle2::ARICHGeometryConfig >, DBObjPtr< Belle2::ARICHGlobalAlignment >, DBObjPtr< Belle2::ARICHMergerMapping >, DBObjPtr< Belle2::ARICHMirrorAlignment >, DBObjPtr< Belle2::ARICHModulesInfo >, DBObjPtr< Belle2::ARICHReconstructionPar >, DBObjPtr< Belle2::ARICHSimulationPar >, DBObjPtr< Belle2::BeamParameters >, DBObjPtr< Belle2::BeamSpot >, DBObjPtr< Belle2::BKLMADCThreshold >, DBObjPtr< Belle2::BKLMSimulationPar >, DBObjPtr< Belle2::CDCADCDeltaPedestals >, DBObjPtr< Belle2::CDCAlignment >, DBObjPtr< Belle2::CDCBadWires >, DBObjPtr< Belle2::CDCCrossTalkLibrary >, DBObjPtr< Belle2::CDCDedx1DCell >, DBObjPtr< Belle2::CDCDedx2DCell >, DBObjPtr< Belle2::CDCDedxADCNonLinearity >, DBObjPtr< Belle2::CDCDedxBadWires >, DBObjPtr< Belle2::CDCDedxCosineCor >, DBObjPtr< Belle2::CDCDedxCosineEdge >, DBObjPtr< Belle2::CDCDedxHadronCor >, DBObjPtr< Belle2::CDCDedxMeanPars >, DBObjPtr< Belle2::CDCDedxMomentumCor >, DBObjPtr< Belle2::CDCDedxRunGain >, DBObjPtr< Belle2::CDCDedxScaleFactor >, DBObjPtr< Belle2::CDCDedxSigmaPars >, DBObjPtr< Belle2::CDCDedxWireGain >, DBObjPtr< Belle2::CDCEDepToADCConversions >, DBObjPtr< Belle2::CDCFudgeFactorsForSigma >, DBObjPtr< Belle2::CDCGeometry >, DBObjPtr< Belle2::CDCMisalignment >, DBObjPtr< Belle2::CDCPropSpeeds >, DBObjPtr< Belle2::CDCSpaceResols >, DBObjPtr< Belle2::CDCTimeWalks >, DBObjPtr< Belle2::CDCTimeZeros >, DBObjPtr< Belle2::CDCTrigger2DConfig >, DBObjPtr< Belle2::CDCTriggerNeuroConfig >, DBObjPtr< Belle2::CDCWireHitRequirements >, DBObjPtr< Belle2::CDCXtRelations >, DBObjPtr< Belle2::ChargedPidMVAWeights >, DBObjPtr< Belle2::CollisionBoostVector >, DBObjPtr< Belle2::CollisionInvariantMass >, DBObjPtr< Belle2::DatabaseRepresentationOfWeightfile >, DBObjPtr< Belle2::DBRepresentationOfSoftwareTriggerCut >, DBObjPtr< Belle2::DedxPDFs >, DBObjPtr< Belle2::ECLChannelMap >, DBObjPtr< Belle2::ECLChargedPidPDFs >, DBObjPtr< Belle2::ECLCrystalCalib >, DBObjPtr< Belle2::ECLDigitWaveformParametersForMC >, DBObjPtr< Belle2::ECLHadronComponentEmissionFunction >, DBObjPtr< Belle2::ECLReferenceCrystalPerCrateCalib >, DBObjPtr< Belle2::ECLShowerCorrectorLeakageCorrection >, DBObjPtr< Belle2::ECLShowerEnergyCorrectionTemporary >, DBObjPtr< Belle2::ECLTrackClusterMatchingParameterizations >, DBObjPtr< Belle2::ECLTrackClusterMatchingThresholds >, DBObjPtr< Belle2::EKLMChannels >, DBObjPtr< Belle2::EKLMReconstructionParameters >, DBObjPtr< Belle2::EKLMTimeCalibration >, DBObjPtr< Belle2::GeoConfiguration >, DBObjPtr< Belle2::KLMChannelStatus >, DBObjPtr< Belle2::KLMElectronicsMap >, DBObjPtr< Belle2::KLMLikelihoodParameters >, DBObjPtr< Belle2::KLMScintillatorDigitizationParameters >, DBObjPtr< Belle2::KLMStripEfficiency >, DBObjPtr< Belle2::KLMTimeConversion >, DBObjPtr< Belle2::KLMTimeWindow >, DBObjPtr< Belle2::MagneticField >, DBObjPtr< Belle2::ParticleWeightingLookUpTable >, DBObjPtr< Belle2::PayloadFile >, DBObjPtr< Belle2::PXDClusterChargeMapPar >, DBObjPtr< Belle2::PXDClusterPositionEstimatorPar >, DBObjPtr< Belle2::PXDClusterShapeIndexPar >, DBObjPtr< Belle2::PXDDeadPixelPar >, DBObjPtr< Belle2::PXDGainMapPar >, DBObjPtr< Belle2::PXDMaskedPixelPar >, DBObjPtr< Belle2::ROIParameters >, DBObjPtr< Belle2::SoftwareTriggerMenu >, DBObjPtr< Belle2::SVDCalibrationsBase >, DBObjPtr< Belle2::SVDGlobalConfigParameters >, DBObjPtr< Belle2::SVDLocalConfigParameters >, DBObjPtr< Belle2::TestCalibMean >, DBObjPtr< Belle2::TOPCalAsicShift >, DBObjPtr< Belle2::TOPCalChannelMask >, DBObjPtr< Belle2::TOPCalChannelNoise >, DBObjPtr< Belle2::TOPCalChannelPulseHeight >, DBObjPtr< Belle2::TOPCalChannelRQE >, DBObjPtr< Belle2::TOPCalChannelT0 >, DBObjPtr< Belle2::TOPCalChannelThreshold >, DBObjPtr< Belle2::TOPCalChannelThresholdEff >, DBObjPtr< Belle2::TOPCalCommonT0 >, DBObjPtr< Belle2::TOPCalModuleAlignment >, DBObjPtr< Belle2::TOPCalModuleT0 >, DBObjPtr< Belle2::TOPCalTimebase >, DBObjPtr< Belle2::TOPCalTimeWalk >, DBObjPtr< Belle2::TOPFrontEndSetting >, DBObjPtr< Belle2::TOPGeometry >, DBObjPtr< Belle2::TRGGDLDBAlgs >, DBObjPtr< Belle2::TRGGDLDBBadrun >, DBObjPtr< Belle2::TRGGDLDBFTDLBits >, DBObjPtr< Belle2::TRGGDLDBInputBits >, DBObjPtr< Belle2::TRGGDLDBPrescales >, DBObjPtr< Belle2::TRGGDLDBUnpacker >, and DBObjPtr< Belle2::VXDAlignment >.
|
| DBAccessorBase (const std::string &name, const TClass *objClass, bool isArray, bool isRequired) |
| Constructor to access an object in the DBStore. More...
|
|
| DBAccessorBase (DBStoreEntry::EPayloadType type, const std::string &name, bool isRequired) |
| Constructor to access an object in the DBStore which is not a ROOT Object. More...
|
|
virtual | ~DBAccessorBase () |
| Destructor. More...
|
|
const std::string & | getName () const |
| Return name under which the object is saved in the DBStore.
|
|
bool | isValid () const |
| Check whether a valid object was obtained from the database. More...
|
|
virtual bool | operator== (const DBAccessorBase &other) const |
| Check if two store accessors point to the same object/array.
|
|
virtual bool | operator!= (const DBAccessorBase &other) const |
| Check if two store accessors point to a different object/array.
|
|
bool | hasChanged () |
| Check whether the object has changed since the last call to hasChanged of the accessor).
|
|
void | addCallback (std::function< void(const std::string &)> callback, bool onDestruction=false) |
| Add a callback method. More...
|
|
void | addCallback (std::function< void()> callback, bool onDestruction=false) |
| Add a callback method. More...
|
|
template<class T > |
void | addCallback (T *object, void(T::*callback)()) |
| Add a callback method of an object. More...
|
|
unsigned int | getRevision () const |
| Return current revision of the object.
|
|
IntervalOfValidity | getIoV () const |
| Return current IoV of the object.
|
|
const std::string & | getChecksum () const |
| Get current checksum.
|
|
const std::string & | getFilename () const |
| Get the filename this object is loaded from.
|
|
bool | isRequired () const |
| Check whether this conditions object is required (at least one user declared it as required)
|
|
|
const DBStoreEntry::EPayloadType | m_type |
| Type of the payload.
|
|
const std::string | m_name |
| Name of the payload in the database.
|
|
const TClass * | m_objClass |
| Class of the payload if type is c_Object.
|
|
const bool | m_isArray |
| True if the payload is an array of objects.
|
|
const bool | m_isRequired |
| True if the payload is required, otherwise no errors will be raised if it cannot be found.
|
|
DBStoreEntry * | m_entry |
| Pointer to the entry in the DBStore.
|
|
bool | m_changed {false} |
| Internal flag whether the object has changed since we last checked.
|
|
std::vector< std::pair< std::function< void(const std::string &)>, bool > > | m_callbacks |
| List of all registered callback functions.
|
|
Base class for DBObjPtr and DBArray for easier common treatment.
Definition at line 28 of file DBAccessorBase.h.
◆ DBAccessorBase() [1/2]
DBAccessorBase |
( |
const std::string & |
name, |
|
|
const TClass * |
objClass, |
|
|
bool |
isArray, |
|
|
bool |
isRequired |
|
) |
| |
|
inline |
Constructor to access an object in the DBStore.
- Parameters
-
name | Name under which the object is stored in the database (and DBStore). |
objClass | The type of the object. |
isArray | Flag that indicates whether this is a single object or a TClonesArray. |
isRequired | If true emit errors if the object cannot be found in the Database |
Definition at line 38 of file DBAccessorBase.h.
◆ DBAccessorBase() [2/2]
Constructor to access an object in the DBStore which is not a ROOT Object.
- Parameters
-
type | should be one of c_RootFile or c_RawFile. |
name | Name under which the object is stored in the database (and DBStore). |
isArray | Flag that indicates whether this is a single object or a TClonesArray. |
isRequired | If true emit errors if the object cannot be found in the Database |
Definition at line 52 of file DBAccessorBase.h.
◆ ~DBAccessorBase()
Destructor.
Virtual because this is a base class.
Definition at line 63 of file DBAccessorBase.h.
◆ addCallback() [1/3]
void addCallback |
( |
std::function< void()> |
callback, |
|
|
bool |
onDestruction = false |
|
) |
| |
|
inline |
Add a callback method.
The given method will be called whenever there is a new database entry for this DBAccessor.
- Parameters
-
callback | function pointer to a callback function |
onDestruction | if true the callback will not be called for each change but only when the Database entry is deleted and can be used to remove dangling pointers to the entry. |
Definition at line 121 of file DBAccessorBase.h.
◆ addCallback() [2/3]
void addCallback |
( |
std::function< void(const std::string &)> |
callback, |
|
|
bool |
onDestruction = false |
|
) |
| |
|
inline |
Add a callback method.
The given method will be called whenever there is a new database entry for this DBAccessor. The one parameter is the name of the DB entry which changed (in case the same callback method is to be used for multiple payloads.
- Parameters
-
callback | function pointer to a callback function |
onDestruction | if true the callback will not be called for each change but only when the Database entry is deleted and can be used to remove dangling pointers to the entry. |
Definition at line 108 of file DBAccessorBase.h.
◆ addCallback() [3/3]
void addCallback |
( |
T * |
object, |
|
|
void(T::*)() |
callback |
|
) |
| |
|
inline |
Add a callback method of an object.
The given method will be called whenever there is a new database entry for this DBAccessor.
- Parameters
-
object | The object with the callback method. |
callback | The callback method. |
Definition at line 133 of file DBAccessorBase.h.
◆ ensureAttached()
bool ensureAttached |
( |
| ) |
const |
|
inlineprotected |
◆ isValid()
Check whether a valid object was obtained from the database.
- Returns
- True if the object exists.
Definition at line 75 of file DBAccessorBase.h.
The documentation for this class was generated from the following file: