Belle II Software  release-08-01-10
EclPainterFactory.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 #pragma once
10 
11 //ECL
12 #include <ecl/modules/eclDisplay/EclData.h>
13 
14 namespace Belle2 {
20  class EclPainter;
21 
22  namespace ECL {
23  class ECLChannelMapper;
24  }
41  };
42 
48  private:
50  static const int types_count = PAINTER_SHAPER_2D + 1;
52  static const char* titles[types_count];
53 
58 
59  public:
60 
65  static EclPainter* createPainter(EclPainterType type, EclData* data,
66  ECL::ECLChannelMapper* mapper,
67  EclData::EclSubsystem subsys = EclData::ALL);
71  static const char** getTypeTitles();
75  static int getTypeTitlesCount();
76  };
78 }
This class provides access to ECL channel map that is either a) Loaded from the database (see ecl/dbo...
This class contains data for ECLSimHit's and provides several relevant conversion functions for bette...
Definition: EclData.h:31
EclSubsystem
Subsystems of ECL: ALL all subsystems BARR barrel only FORW forward endcap only BACKW backward endcap...
Definition: EclData.h:98
Class that implements Factory pattern to create objects inherited from EclPainter.
static EclPainter * createPainter(EclPainterType type, EclData *data, ECL::ECLChannelMapper *mapper, EclData::EclSubsystem subsys=EclData::ALL)
Creates EclPainter of the specified type.
static const char * titles[types_count]
Titles for painter types.
static const char ** getTypeTitles()
Returns array of titles for each EclPainter type.
static const int types_count
Number of painter types.
static int getTypeTitlesCount()
Size of array from getTypeTitles()
EclPainterFactory()
Constructor for EclPainterFactory.
Painter for EclData, parent class, created with EclPainterFactory.
Definition: EclPainter.h:29
EclPainterType
Enum for type of EclPainter to create.
@ PAINTER_TIME
Time distribution.
@ PAINTER_CHANNEL
Event count/energy distribution per channel.
@ PAINTER_COLLECTOR
Event count/energy distribution per crate/ECLCollector.
@ PAINTER_CHANNEL_2D
(theta_id:phi_id) histogram.
@ PAINTER_ENERGY_SUM
Event energy distribution.
@ PAINTER_1D_THETA
Event count/energy distribution per theta_id.
@ PAINTER_SHAPER_2D
(shaper:crate) histogram.
@ PAINTER_SHAPER
Event count/energy distribution per shaperDSP.
@ PAINTER_PHI
Event count/energy polar angle distribution.
@ PAINTER_ENERGY
Channel energy distribution.
@ PAINTER_1D_PHI
Event count/energy distribution per phi_id.
Abstract base class for different kinds of events.