PandaRoot
PndEmc2DLocMaxFinderTEST.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 // Description:
15 // Class EmcERatioLocMaxMaxFinder./
16 // Searches for local maxima in a cluster based on the ratio
17 // between the energy of the maxima crystal and that of
18 // its neighbours
19 //
20 // Environment:
21 // Software developed for the BaBar Detector at the SLAC B-Factory.
22 //
23 // Adapted for the PANDA experiment at GSI
24 //
25 // Author List:
26 // Phil Strother
27 // Helmut Schmuecker Ruhr-Uni Bochum
28 //
29 // Copyright Information:
30 // Copyright (C) 1997 Imperial College
31 // Modified:
32 // M. Babai
33 //------------------------------------------------------------------------
34 //#pragma once
35 #ifndef PNDEMC2DLOCALMAXFINDERTEST_H
36 #define PNDEMC2DLOCALMAXFINDERTEST_H
37 
38 #include "FairTask.h"
39 #include "TObject.h"
40 #include "TClonesArray.h"
41 #include "PndEmcDataTypes.h"
42 
43 class PndEmcDigi;
44 class PndEmcCluster;
46 class PndEmcGeoPar;
47 class PndEmcDigiPar;
48 class PndEmcRecoPar;
49 
54 class PndEmc2DLocMaxFinderTEST : public FairTask {
55  public:
56  // Constructors
57  PndEmc2DLocMaxFinderTEST(Int_t verbose = 0);
58  // Destructor
59  virtual ~PndEmc2DLocMaxFinderTEST();
60 
61  virtual InitStatus Init();
62  virtual void Exec(Option_t *opt);
63  virtual void FinishTask();
64 
65  void SetStorageOfData(Bool_t p = kTRUE) { fPersistance = p; };
66 
67  protected:
69  virtual void SetParContainers();
73  virtual bool isALocalMax(const PndEmcDigi *const, // const PndEmcCluster * const,
74  // const PndEmcCoordIndexSet &amongstTheseNeighbours ) const;
75  std::vector<Int_t> &amongstTheseNeighbours) const;
76 
77  private:
78  // Methods
79  // void getNeighbourDigis( PndEmcCoordIndexSet &, PndEmcCoordIndexSet &, int,
80  // std::map<Int_t, Int_t>) const;
81  void getNeighbourDigis(std::vector<Int_t> &, PndEmcCoordIndexSet &, int, Int_t, Int_t) const;
82 
83  // don't allow copying (-Weffc++)
84  PndEmc2DLocMaxFinderTEST(const PndEmc2DLocMaxFinderTEST &); // no implementation
85  PndEmc2DLocMaxFinderTEST &operator=(const PndEmc2DLocMaxFinderTEST &); // no implementation
86 
88  TClonesArray *fClusterArray;
90  TClonesArray *fDigiArray;
91  TClonesArray *fEmcDigi;
92 
93  PndEmcGeoPar *fGeoPar;
94  PndEmcDigiPar *fDigiPar;
95  PndEmcRecoPar *fRecoPar;
96 
97  Bool_t fPersistance;
98 
99  // Data members
100  Double_t fMaxECut;
101  Double_t fNeighbourECut;
102  Double_t fCutSlope;
103  Double_t fCutOffset;
104  Double_t fERatioCorr;
105  Int_t fTheNeighbourLevel;
106 
107  /* Verbosity level */
108  // Int_t fVerbose; //do not shadow FairTask::fVerbose
109 
110  ClassDef(PndEmc2DLocMaxFinderTEST, 2);
111 };
112 #endif // PNDEMC2DLOCALMAXFINDERTEST_HH
Searches for local maxima in a cluster.
virtual bool isALocalMax(const PndEmcDigi *const, std::vector< Int_t > &amongstTheseNeighbours) const
virtual void FinishTask()
stores crystal index coordinates (x,y) or (theta,phi)
virtual void Exec(Option_t *opt)
PndEmc2DLocMaxFinderTEST(Int_t verbose=0)
virtual ~PndEmc2DLocMaxFinderTEST()
virtual void SetParContainers()
parameter set of Emc digitisation
Definition: PndEmcDigiPar.h:24
std::set< PndEmcTwoCoordIndex * > PndEmcCoordIndexSet
virtual InitStatus Init()
void SetStorageOfData(Bool_t p=kTRUE)
Parameter set for Emc Reco.
Definition: PndEmcRecoPar.h:25