PandaRoot
BSEmcPhiRecoHitSplitter.h
Go to the documentation of this file.
1 //--------------------------------------------------------------------------
2 // File and Version Information:
3 // $Id:$
4 //
5 // Description:
6 // Class BSEmcPhiRecoHitSplitter
7 // Implementation of PhiRecoHitSplitter 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 BSEMCPHIRECOHITSPLITTER_HH
26 #define BSEMCPHIRECOHITSPLITTER_HH
27 
28 // Path of file:
29 // ----- $pandaroot/emc/EmcReco
30 
31 #include <PndPersistencyTask.h>
32 #include <map>
33 #include <memory>
34 #include <vector>
35 
36 #include "Rtypes.h"
37 #include "RtypesCore.h"
38 
39 //---------------
40 // C++ Headers --
41 //---------------
42 #include "TObject.h"
43 #include "TString.h"
44 
45 #include "FairTask.h"
46 
47 #include "PndTCAConstContainer.h"
48 #include "PndTCAMutableContainer.h"
49 
50 #include "BSEmcCluster.h"
52 #include "BSEmcDigi.h"
53 #include "BSEmcRecoHit.h"
54 
56 class TBuffer;
57 class TClass;
58 class TMemberInspector;
59 template <class T>
61 template <class T>
63 //------------------------------------
64 // Collaborating Class Declarations --
65 //------------------------------------
66 
67 class BSEmcCluster;
68 class BSEmcRecoHit;
69 class BSEmcDigi;
70 
83  public:
84  // Constructor
85  BSEmcPhiRecoHitSplitter(Int_t t_verbose = 0);
86  // Destructor
87  virtual ~BSEmcPhiRecoHitSplitter();
88 
89  // Methods
90  virtual InitStatus Init() /*override*/;
91  virtual void Exec(Option_t *t_opt) /*override*/;
92  virtual void FinishTask() /*override*/;
93 
94  void SetStorageOfData(Bool_t t_p = kTRUE) { SetPersistency(t_p); };
95  void CreatePhiHits(const std::vector<const BSEmcDigi *> &t_digiArray, const std::vector<const BSEmcCluster *> &t_clusterArray, const TString &t_clusterBranchName,
96  BSEmcCrystalPositionPar *t_positionPar);
97 
98  protected:
100  virtual void SetParContainers() /*override*/;
102 
103  private:
104  // don't allow copying (-Weffc++)
105  BSEmcPhiRecoHitSplitter(const BSEmcPhiRecoHitSplitter &); // no implementation
106  BSEmcPhiRecoHitSplitter &operator=(const BSEmcPhiRecoHitSplitter &); // no implementation
107 
108  private:
118 
121  BSEmcCrystalPositionPar *fBarrelPosition{nullptr};
122  BSEmcCrystalPositionPar *fFWECPosition{nullptr};
123  BSEmcCrystalPositionPar *fBWECPosition{nullptr};
124  BSEmcCrystalPositionPar *fShashlikPosition{nullptr};
125  ClassDef(BSEmcPhiRecoHitSplitter, 2);
126 };
127 #endif /*BSEMCPHIRECOHITSPLITTER_HH*/
Resembles/Contains all information a particle hitting the EMC can provide for later use in the PID st...
Definition: BSEmcRecoHit.h:31
BSEmcPhiRecoHitSplitter(Int_t t_verbose=0)
void SetStorageOfData(Bool_t t_p=kTRUE)
splits clusters based on local maxima in the Phi direction for use with Bremstrahlung correction...
virtual ~BSEmcPhiRecoHitSplitter()
Input and Output Container implementation of PndMutableContainerI using an underlying TClonesArray...
void SetPersistency(Bool_t val=kTRUE)
void CreatePhiHits(const std::vector< const BSEmcDigi *> &t_digiArray, const std::vector< const BSEmcCluster *> &t_clusterArray, const TString &t_clusterBranchName, BSEmcCrystalPositionPar *t_positionPar)
virtual void FinishTask()
BSEmcRecoHit * AddPhiRecoHit()
a cluster (group of neighboring crystals) of hit emc crystals
Definition: BSEmcCluster.h:54
Parameter for crystal positions.
virtual InitStatus Init()
virtual void Exec(Option_t *t_opt)
represents the reconstructed hit of one emc crystal
Definition: BSEmcDigi.h:47
virtual void SetParContainers()
Input and Output Container implementation of PndConstContainerI using an underlying TClonesArray...