Belle II Software  release-05-02-19
StoreArray.cc
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2010 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Martin Heck *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #include <framework/datastore/StoreArray.h>
12 
13 #include <framework/datastore/RelationArray.h>
14 
15 using namespace std;
16 using namespace Belle2;
17 
18 void _StoreArrayImpl::clearRelations(const StoreAccessorBase& array)
19 {
20  auto related_arrays = DataStore::Instance().getListOfRelatedArrays(array);
21 
22  for (const std::string& other_name : related_arrays) {
23  RelationArray a(DataStore::relationName(other_name, array.getName()), array.getDurability());
24  RelationArray b(DataStore::relationName(array.getName(), other_name), array.getDurability());
25  if (a.isValid())
26  a.clear();
27  if (b.isValid())
28  b.clear();
29  }
30 }
Belle2::RelationArray
Low-level class to create/modify relations between StoreArrays.
Definition: RelationArray.h:72
Belle2::StoreAccessorBase::getDurability
DataStore::EDurability getDurability() const
Return durability with which the object is saved in the DataStore.
Definition: StoreAccessorBase.h:133
Belle2::StoreAccessorBase::getName
const std::string & getName() const
Return name under which the object is saved in the DataStore.
Definition: StoreAccessorBase.h:130
Belle2::StoreAccessorBase
Base class for StoreObjPtr and StoreArray for easier common treatment.
Definition: StoreAccessorBase.h:29
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19