PandaRoot
PndEmcPhiBumpSplitter.h
Go to the documentation of this file.
1 //--------------------------------------------------------------------------
2 // File and Version Information:
3 // $Id:$
4 //
5 // Description:
6 // Class PndEmcPhiBumpSplitter
7 // Implementation of PhiBumpSplitter which splits clusters based on
8 // local maxima in the Phi Direction for use with Bremstrahlung correction
9 //
10 // Environment:
11 // Software developed for the BaBar Detector at the SLAC B-Factory.
12 //
13 // Adapted for the PANDA experiment at GSI
14 //
15 // Author List:
16 // Phil Strother
17 //
18 // Copyright Information:
19 // Copyright (C) 1997 Imperial College
20 //
21 // Modified:
22 // Binsong Ma, Ermias Atomssa
23 //------------------------------------------------------------------------
24 //#pragma once
25 #ifndef PNDEMCPHIBUMPSPLITTER_H
26 #define PNDEMCPHIBUMPSPLITTER_H
27 
28 // Path of file:
29 // ----- $pandaroot/emc/EmcReco
30 
31 //---------------
32 // C++ Headers --
33 //---------------
34 #include <PndPersistencyTask.h>
35 #include <vector>
36 #include <map>
37 
38 #include "TObject.h"
39 #include "TClonesArray.h"
40 #include "PndEmcDataTypes.h"
41 //#include "PndEmcDigiCalibrator.h"
42 //------------------------------------
43 // Collaborating Class Declarations --
44 //------------------------------------
45 
46 class PndEmcCluster;
47 class PndEmcBump;
48 class PndEmcDigi;
50 
51 class PndEmcGeoPar;
52 class PndEmcDigiPar;
53 class PndEmcRecoPar;
54 
55 class PndEmcSharedDigi;
56 
63  public:
64  // Constructor
65  PndEmcPhiBumpSplitter(Int_t verbose = 0);
66  // Destructor
67  virtual ~PndEmcPhiBumpSplitter();
68 
69  // Methods
70  virtual InitStatus Init();
71  virtual void Exec(Option_t *opt);
72  virtual void FinishTask();
73 
74  void SetStorageOfData(Bool_t p = kTRUE) { SetPersistency(p); };
76  // PndEmcSharedDigi* AddPhiBumpSharedDigi(PndEmcDigi*, Double_t);
77 
78  protected:
80  virtual void SetParContainers();
81 
82  private:
83  // don't allow copying (-Weffc++)
84  PndEmcPhiBumpSplitter(const PndEmcPhiBumpSplitter &); // no implementation
85  PndEmcPhiBumpSplitter &operator=(const PndEmcPhiBumpSplitter &); // no implementation
86 
87  private:
89  TClonesArray *fDigiArray;
90  TClonesArray *fClusterArray;
91 
93  TClonesArray *fPhiBumpArray;
94  // TClonesArray* fPhiBumpSharedDigiArray;
95 
96  PndEmcGeoPar *fGeoPar; //< Geometry parameter container
97  PndEmcDigiPar *fDigiPar; //< Digitisation parameter container
98  PndEmcRecoPar *fRecoPar; //< Reconstruction parameter container
99 
100  std::vector<Double_t> fClusterPosParam;
101 
102  Bool_t fPersistance;
103 
104  /* Verbosity level */
105  // Int_t fVerbose; //do not shadow FairTask::fVerbose
106 
107  // added for time information
108  // PndEmcDigiCalibrator digiCalibrator;
109  // Int_t HowManyDidis;
110 
111  ClassDef(PndEmcPhiBumpSplitter, 2);
112 };
113 #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:12
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:34
Parameter set for Emc Reco.
Definition: PndEmcRecoPar.h:12