Belle II Software  release-05-01-25
SensitiveDetectorBase.cc
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2010-2011 Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Andreas Moll, Martin Ritter *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #include <simulation/kernel/SensitiveDetectorBase.h>
12 #include <framework/logging/Logger.h>
13 
14 using namespace std;
15 namespace Belle2 {
20  namespace Simulation {
21  bool SensitiveDetectorBase::s_active(false);
22  map<string, RelationArray::EConsolidationAction> SensitiveDetectorBase::s_mcRelations;
23 
24  void SensitiveDetectorBase::registerMCParticleRelation(const std::string& name, RelationArray::EConsolidationAction ignoreAction)
25  {
26  std::pair<std::map<std::string, RelationArray::EConsolidationAction>::iterator, bool> insert = s_mcRelations.insert(std::make_pair(
27  name, ignoreAction));
28  //If the relation already exists and the ignoreAction is different we do have a problem
29  if (!insert.second && insert.first->second != ignoreAction) {
30  B2FATAL("MCParticle Relation " << name << " already registered with different ignore action.");
31  }
32  }
33  }
35 }
Belle2::RelationArray::EConsolidationAction
EConsolidationAction
Modification actions for the consolidate member.
Definition: RelationArray.h:87
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19