Belle II Software  release-06-02-00
MCMatcherECLClustersModule.h
1 /**************************************************************************
2  * basf2 (Belle II Analysis Software Framework) *
3  * Author: The Belle II Collaboration *
4  * *
5  * See git log for contributors and copyright holders. *
6  * This file is licensed under LGPL-3.0, see LICENSE.md. *
7  **************************************************************************/
8 
9 
10 #pragma once
11 
12 #include <framework/core/Module.h>
13 #include <framework/datastore/StoreArray.h>
14 #include <framework/datastore/RelationArray.h>
15 
16 namespace Belle2 {
21  class MCParticle;
22  class ECLHit;
23  class ECLCalDigit;
24  class ECLDigit;
25  class ECLSimHit;
26  class ECLCluster;
27  class ECLShower;
28 
34 
35  public:
38 
41 
43  virtual void initialize() override;
44 
46  virtual void beginRun() override;
47 
51  virtual void event() override;
52 
54  virtual void endRun() override;
55 
57  virtual void terminate() override;
58 
59  private:
60 
70  virtual const char* eclDigitArrayName() const
71  { return "ECLDigits" ; }
72 
74  virtual const char* eclCalDigitArrayName() const
75  { return "ECLCalDigits" ; }
76 
78  virtual const char* eclClusterArrayName() const
79  { return "ECLClusters" ; }
80 
82  virtual const char* eclShowerArrayName() const
83  { return "ECLShowers" ; }
84 
89  };
90 
93 
94  public:
95 
97  virtual const char* eclDigitArrayName() const override
98  { return "ECLDigitsPureCsI" ; }
99 
101  virtual const char* eclCalDigitArrayName() const override
102  { return "ECLCalDigitsPureCsI" ; }
103 
105  virtual const char* eclShowerArrayName() const override
106  { return "ECLShowersPureCsI" ; }
107 
109  virtual const char* eclClusterArrayName() const override
110  { return "ECLClustersPureCsI" ; }
111 
112  };
113 
115 } // end of Belle2 namespace
Class to represent the hit of one cell.
virtual const char * eclDigitArrayName() const
Default name ECLDigits.
StoreArray< ECLShower > m_eclShowers
ECLShowers StoreArray.
RelationArray m_mcParticleToECLSimHitRelationArray
MCParticles to ECLSimHits RelationArray.
virtual void initialize() override
Initialize variables, print info, and start CPU clock.
RelationArray m_mcParticleToECLHitRelationArray
MCParticles to ECLHits RelationArray.
virtual void event() override
Actual digitization of all hits in the ECL.
virtual const char * eclShowerArrayName() const
Default name ECLShowers.
virtual void endRun() override
Nothing so far.
virtual void terminate() override
Stopping of CPU clock.
StoreArray< ECLSimHit > m_eclSimHits
ECLSimHits StoreArray.
StoreArray< ECLDigit > m_eclDigits
ECLDigits StoreArray.
virtual const char * eclClusterArrayName() const
Default name ECLClusters.
virtual void beginRun() override
Nothing so far.
StoreArray< ECLCluster > m_eclClusters
ECLClusters StoreArray.
StoreArray< ECLHit > m_eclHits
ECLHits StoreArray.
StoreArray< MCParticle > m_mcParticles
MCParticles StoreArray.
virtual const char * eclCalDigitArrayName() const
Default name ECLCalDigits.
StoreArray< ECLCalDigit > m_eclCalDigits
ECLCalDigits StoreArray.
virtual const char * eclClusterArrayName() const override
PureCsI name ECLClustersPureCsI.
virtual const char * eclShowerArrayName() const override
PureCsI name ECLShowersPureCsI.
virtual const char * eclCalDigitArrayName() const override
PureCsI name ECLCalDigitsPureCsI.
virtual const char * eclDigitArrayName() const override
PureCsI name ECLDigitsPureCsI.
Base class for Modules.
Definition: Module.h:72
Low-level class to create/modify relations between StoreArrays.
Definition: RelationArray.h:62
Abstract base class for different kinds of events.