PandaRoot
PndEmcPhiBumpSplitter.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 PndEmcPhiBumpSplitter
19 // Implementation of PhiBumpSplitter which splits clusters based on
20 // local maxima in the Phi Direction for use with Bremstrahlung correction
21 //
22 // Environment:
23 // Software developed for the BaBar Detector at the SLAC B-Factory.
24 //
25 // Adapted for the PANDA experiment at GSI
26 //
27 // Author List:
28 // Phil Strother
29 //
30 // Copyright Information:
31 // Copyright (C) 1997 Imperial College
32 //
33 // Modified:
34 // Binsong Ma, Ermias Atomssa
35 //------------------------------------------------------------------------
36 //#pragma once
37 #ifndef PNDEMCPHIBUMPSPLITTER_H
38 #define PNDEMCPHIBUMPSPLITTER_H
39 
40 // Path of file:
41 // ----- $pandaroot/emc/EmcReco
42 
43 //---------------
44 // C++ Headers --
45 //---------------
46 #include <PndPersistencyTask.h>
47 #include <vector>
48 #include <map>
49 
50 #include "TObject.h"
51 #include "TClonesArray.h"
52 #include "PndEmcDataTypes.h"
53 //#include "PndEmcDigiCalibrator.h"
54 //------------------------------------
55 // Collaborating Class Declarations --
56 //------------------------------------
57 
58 class PndEmcCluster;
59 class PndEmcBump;
60 class PndEmcDigi;
62 
63 class PndEmcGeoPar;
64 class PndEmcDigiPar;
65 class PndEmcRecoPar;
66 
67 class PndEmcSharedDigi;
68 
75  public:
76  // Constructor
77  PndEmcPhiBumpSplitter(Int_t verbose = 0);
78  // Destructor
79  virtual ~PndEmcPhiBumpSplitter();
80 
81  // Methods
82  virtual InitStatus Init();
83  virtual void Exec(Option_t *opt);
84  virtual void FinishTask();
85 
86  void SetStorageOfData(Bool_t p = kTRUE) { SetPersistency(p); };
88  // PndEmcSharedDigi* AddPhiBumpSharedDigi(PndEmcDigi*, Double_t);
89 
90  protected:
92  virtual void SetParContainers();
93 
94  private:
95  // don't allow copying (-Weffc++)
96  PndEmcPhiBumpSplitter(const PndEmcPhiBumpSplitter &); // no implementation
97  PndEmcPhiBumpSplitter &operator=(const PndEmcPhiBumpSplitter &); // no implementation
98 
99  private:
101  TClonesArray *fDigiArray;
102  TClonesArray *fClusterArray;
103 
105  TClonesArray *fPhiBumpArray;
106  // TClonesArray* fPhiBumpSharedDigiArray;
107 
108  PndEmcGeoPar *fGeoPar; //< Geometry parameter container
109  PndEmcDigiPar *fDigiPar; //< Digitisation parameter container
110  PndEmcRecoPar *fRecoPar; //< Reconstruction parameter container
111 
112  std::vector<Double_t> fClusterPosParam;
113 
114  Bool_t fPersistance;
115 
116  /* Verbosity level */
117  // Int_t fVerbose; //do not shadow FairTask::fVerbose
118 
119  // added for time information
120  // PndEmcDigiCalibrator digiCalibrator;
121  // Int_t HowManyDidis;
122 
123  ClassDef(PndEmcPhiBumpSplitter, 2);
124 };
125 #endif
splits clusters based on local maxima in the Phi direction for use with Bremstrahlung correction...
virtual void SetParContainers()
void SetPersistency(Bool_t val=kTRUE)
PndEmcBump * AddPhiBump()
stores crystal index coordinates (x,y) or (theta,phi)
used to share PndEmcDigis between bumps
parameter set of Emc digitisation
Definition: PndEmcDigiPar.h:24
virtual InitStatus Init()
virtual void FinishTask()
virtual void Exec(Option_t *opt)
PndEmcPhiBumpSplitter(Int_t verbose=0)
void SetStorageOfData(Bool_t p=kTRUE)
virtual ~PndEmcPhiBumpSplitter()
represents a reconstructed (splitted) emc cluster
Definition: PndEmcBump.h:46
Parameter set for Emc Reco.
Definition: PndEmcRecoPar.h:25