PandaRoot
PndEmcCorrBump.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 // Software developed for the PANDA Detector at GSI.
17 // Author List:
18 // Jan Zhong
19 //---------------------------------------------------------------------
20 //#pragma once
21 #ifndef PNDEMCCORRBUMP_H
22 #define PNDEMCCORRBUMP_H
23 
24 #include "FairTask.h"
25 //#include <string>
26 #include <vector>
27 //#include <list>
28 #include "TVectorD.h"
29 #include "PndEmcDigiCalibrator.h"
30 class TClonesArray;
31 class TObjectArray;
32 class PndEmcCluster;
33 class PndEmcGeoPar;
34 class PndEmcDigiPar;
35 class PndEmcRecoPar;
36 class PndEmcDigi;
37 class PndEmcBump;
38 // class PndEmcDigiCalibrator;
39 
40 class PndEmcCorrBump : public FairTask {
41 
42  public:
43  // Constructors
44 
45  PndEmcCorrBump(Int_t verbose = 0, Bool_t storeclusters = kTRUE);
46 
47  // Destructor
48 
49  virtual ~PndEmcCorrBump();
50 
52  virtual InitStatus Init();
53 
55  virtual void Exec(Option_t *opt);
56 
57  void SetStorageOfData(Bool_t val); // Method to specify whether clusters are stored or not.
58  void FinishTask();
59 
60  void RunTimeBased() { fTimeOrderedDigi = kTRUE; }
61 
62  private:
64  TClonesArray *fDigiArray;
65 
67  TClonesArray *fSharedDigiArray;
68  TClonesArray *fBumpArray;
69 
71  // TClonesArray* fClusterArray;
72 
73  // std::vector<PndEmcCluster*> fClusterList;
74 
75  Int_t fMapVersion;
76 
77  static Int_t fEventCounter;
78 
79  PndEmcGeoPar *fGeoPar;
80  PndEmcDigiPar *fDigiPar;
81  PndEmcRecoPar *fRecoPar;
83  virtual void SetParContainers();
84 
86  Int_t fVerbose;
87 
88  Bool_t fStoreClusters;
89  Bool_t fTimeOrderedDigi;
90  // for time-order reconstruction
91  // std::vector<PndEmcDigi*> fBufferofDigisToBeDetermined;
92 
94  PndEmcCorrBump &operator=(const PndEmcCorrBump &) { return *this; };
95 
96  // task counter
97  Int_t HowManyDigi;
98  Int_t HowManyCluster;
99  // calibration was replaced by a class
100  // coefficients
101  // TVectorD CoeffMod3;
102  // TVectorD CoeffMod5;
103  // TVectorD CoeffModo;
104  // static Double_t fTimeWindowOfSeedDigi[5][17];
105  // static Double_t fTimeWindowOfShowerDigi[5][17];
106  // Double_t CalibrationEvtTimeByDigi(PndEmcDigi* theDigi, bool PrintOut=kFALSE) const;
107  // Int_t GetIdxByEnergy(Double_t energy) const;
108  PndEmcDigiCalibrator digiCalibrator;
109 
110  TClonesArray *fBumpArrayTBD;
111 
112  std::vector<Double_t> fClusterPosParam;
113 
114  ClassDef(PndEmcCorrBump, 1)
115 };
116 #endif // PNDEMCMAKECLUSTER_HH
virtual void Exec(Option_t *opt)
void SetStorageOfData(Bool_t val)
parameter set of Emc digitisation
Definition: PndEmcDigiPar.h:24
virtual InitStatus Init()
PndEmcCorrBump(Int_t verbose=0, Bool_t storeclusters=kTRUE)
represents a reconstructed (splitted) emc cluster
Definition: PndEmcBump.h:46
Parameter set for Emc Reco.
Definition: PndEmcRecoPar.h:25
virtual ~PndEmcCorrBump()