PandaRoot
PndEmcViewClusters.h
Go to the documentation of this file.
1 //****************************************************************************
2 //* This file is part of PandaRoot. *
3 //* *
4 //* PandaRoot is distributed under the terms of the *
5 //* GNU General Public License (GPL) version 3, *
6 //* copied verbatim in the file "LICENSE". *
7 //* *
8 //* Copyright (C) 2006 - 2024 FAIR GmbH and copyright holders of PandaRoot *
9 //* The copyright holders are listed in the file "COPYRIGHTHOLDERS". *
10 //* The authors are listed in the file "AUTHORS". *
11 //****************************************************************************
12 
13 //--------------------------------------------------------------------------
14 // File and Version Information:
15 // $Id:$
16 //
17 // Description:
18 // Class PndEmcViewClusters
19 // Displays clusters and their content.
20 //
21 // Environment:
22 // Software developed for the PANDA experiment at GSI.
23 //
24 // Author List:
25 // Marcel Tiemens
26 //------------------------------------------------------------------------
27 //#pragma once
28 #ifndef PNDEMCVIEWCLUSTERS_H
29 #define PNDEMCVIEWCLUSTERS_H
30 
31 // Path of file:
32 // ----- $pandaroot/emc/EmcReco
33 
34 //---------------
35 // C++ Headers --
36 //---------------
37 #include <vector>
38 #include <map>
39 
40 #include "FairTask.h"
41 #include "TObject.h"
42 #include "PndEmcDataTypes.h"
43 #include "TH1.h"
44 #include "TH1F.h"
45 #include "TH2.h"
46 #include "TH2D.h"
47 #include "TCanvas.h"
48 #include "TAxis.h"
49 #include "TColor.h"
50 #include "TStyle.h"
51 #include "TClonesArray.h"
52 //#include "PndEmcDigiCalibrator.h"
53 //------------------------------------
54 // Collaborating Class Declarations --
55 //------------------------------------
56 
57 class PndEmcCluster;
58 class PndEmcBump;
59 class PndEmcDigi;
61 
62 class PndEmcGeoPar;
63 class PndEmcDigiPar;
64 class PndEmcRecoPar;
65 
66 class PndEmcSharedDigi;
67 
73 class PndEmcViewClusters : public FairTask {
74  public:
75  // Constructor
76  PndEmcViewClusters(Int_t verbose = 0);
77  // Destructor
78  virtual ~PndEmcViewClusters();
79 
80  // Methods
81  virtual InitStatus Init();
82  virtual void Exec(Option_t *opt);
83  virtual void FinishTask();
84 
85  void SetStorageOfData(Bool_t p = kTRUE) { fPersistance = p; };
86 
87  void SetClusterEnergyThreshold(Double_t ethres) { Ethres = ethres; }
88  void SetMode(Int_t mode) { fMode = mode; }
89 
90  protected:
92  virtual void SetParContainers();
93 
94  private:
95  // don't allow copying (-Weffc++)
96  PndEmcViewClusters(const PndEmcViewClusters &); // no implementation
97  PndEmcViewClusters &operator=(const PndEmcViewClusters &); // no implementation
98 
99  private:
101  TClonesArray *fClusterArray;
102 
103  PndEmcGeoPar *fGeoPar; //< Geometry parameter container
104  PndEmcDigiPar *fDigiPar; //< Digitisation parameter container
105  PndEmcRecoPar *fRecoPar; //< Reconstruction parameter container
106 
107  std::vector<Double_t> fClusterPosParam;
108 
109  Double_t Ethres;
110  Int_t fMode;
111 
112  // declare histograms to be filled
113  TH1F *h1;
114  TH2D *h2;
115 
116  TCanvas *c2;
117 
118  Bool_t fPersistance;
119 
120  /* Verbosity level */
121  // Int_t fVerbose; //do not shadow FairTask::fVerbose
122 
123  ClassDef(PndEmcViewClusters, 1);
124 };
125 #endif
PndEmcViewClusters(Int_t verbose=0)
stores crystal index coordinates (x,y) or (theta,phi)
virtual ~PndEmcViewClusters()
used to share PndEmcDigis between bumps
parameter set of Emc digitisation
Definition: PndEmcDigiPar.h:24
virtual void SetParContainers()
virtual void Exec(Option_t *opt)
virtual void FinishTask()
void SetClusterEnergyThreshold(Double_t ethres)
splits clusters based on local maxima in the Phi direction for use with Bremstrahlung correction...
void SetStorageOfData(Bool_t p=kTRUE)
represents a reconstructed (splitted) emc cluster
Definition: PndEmcBump.h:46
Parameter set for Emc Reco.
Definition: PndEmcRecoPar.h:25
virtual InitStatus Init()
void SetMode(Int_t mode)