PandaRoot
PndSdsPixelClusterTask.h
Go to the documentation of this file.
1 // -------------------------------------------------------------------------
2 // ----- CbmStsHitProducerIdel header file -----
3 // ----- Created 10/01/06 by V. Friese -----
4 // -------------------------------------------------------------------------
5 
16 #ifndef PNDSDSPIXELCLUSTERTASK_H
17 #define PNDSDSPIXELCLUSTERTASK_H
18 
19 #include "PndSdsTask.h"
20 //#include "PndSdsGeoPar.h"
21 #include "PndSdsHit.h"
22 #include "PndSdsMCPoint.h"
23 #include "PndSdsPixel.h"
24 #include "PndSdsFE.h"
25 // #include "PndSdsCluster.h"
26 #include "FairGeoVector.h"
27 #include "FairGeoTransform.h"
28 #include "TVector3.h"
29 #include "TRandom.h"
30 #include "TGeoMatrix.h"
31 #include "TGeoBBox.h"
33 #include "PndSdsStripHitProducer.h"
34 #include "PndSdsPixelDigiPar.h"
35 #include "PndSdsTotDigiPar.h"
36 #include "PndSdsChargeConversion.h"
37 #include "PndDetectorList.h"
38 #include "PndGeoHandling.h"
39 
41 #include "PndSdsPixelBackMapping.h"
42 
43 #include "FairTSBufferFunctional.h"
44 
45 #include <string>
46 #include <vector>
47 
48 class TClonesArray;
49 
51  public:
60  PndSdsPixelClusterTask(const char *name);
61 
63  virtual ~PndSdsPixelClusterTask();
65  {
67  fFEModel = other.fFEModel;
68  fDigiArray = other.fDigiArray;
69  fDigiPar = other.fDigiPar;
71  fGeoH = other.fGeoH;
74  fHitArray = other.fHitArray;
75  fEventHeader = other.fEventHeader;
76  fFunctor = other.fFunctor;
78  fClusterType = other.fClusterType;
79  fEventNr = other.fEventNr;
81  fBackMapping = other.fBackMapping;
82  return *this;
83  };
84  virtual void SetClusterFinder() = 0;
85  virtual void SetBackMapping() = 0;
86 
87  void SetNoiseSuppression(Bool_t val) { fUseNoiseSuppression = val; }
88  Bool_t GetNoiseSuppression() const { return fUseNoiseSuppression; }
89 
90  virtual void SetInBranchId()
91  {
92  FairRootManager *ioman = FairRootManager::Instance();
93  fInBranchId = ioman->GetBranchId(fInBranchName);
94  std::cout << "InBranchId: " << fInBranchId << " for Branch: " << fInBranchName.Data() << std::endl;
95  fClusterType = ioman->GetBranchId(fClustBranchName);
96  std::cout << "fClusterType: " << fClusterType << " for Branch: " << fClustBranchName.Data() << std::endl;
97  }
98 
100  virtual void SetParContainers();
101  virtual InitStatus Init();
102  virtual InitStatus ReInit();
103  virtual void FinishEvent();
104 
106  virtual void SetClusterFinderMQ(TList *){}; // tempList //[R.K.03/2017] unused variable(s)
107  virtual void SetBackMappingMQ(TList *){}; // tempList //[R.K.03/2017] unused variable(s)
108  virtual void InitMQ(TList *tempList);
109  virtual void GetParList(TList *tempList);
110  virtual void ExecMQ(TList *inputList, TList *outputList);
111 
113  void Exec(Option_t *opt);
114 
115  protected:
116  Bool_t fUseNoiseSuppression; // switch to turn on/off noise cancellation by introducing an additional cluster threshold
117 
119 
121  TClonesArray *fDigiArray;
125 
128  TClonesArray *fClusterArray;
129  TClonesArray *fHitArray;
130  FairEventHeader *fEventHeader;
131 
132  BinaryFunctor *fFunctor;
133  BinaryFunctor *fStartFunctor;
134 
136  Int_t fEventNr;
137 
138  void Register();
139  void Reset();
140  void ProduceHits();
141  virtual std::vector<PndSdsDigiPixel> ConvertAndFilter(TClonesArray *digidata);
142 
145 
146  // TGeoHMatrix GetTransformation (std::string detName);
147  // void GetLocalHitPoints(PndSdsMCPoint* myPoint, FairGeoVector& myHitIn, FairGeoVector& myHitOut);
148  // PndSdsHit CalcGlobalPoint(std::vector<PndSdsPixel> pixels);
149  // TVector3 GetSensorDimensions(std::string detName);
150 
152 };
153 
154 #endif /* SDSCLUSTERTASK_H */
Int_t fInBranchId
Definition: PndSdsTask.h:38
PndSdsPixelBackMapping * fBackMapping
virtual void FinishEvent()
virtual void ExecMQ(TList *inputList, TList *outputList)
void SetNoiseSuppression(Bool_t val)
virtual InitStatus ReInit()
virtual InitStatus Init()
virtual std::vector< PndSdsDigiPixel > ConvertAndFilter(TClonesArray *digidata)
convert TClonesArray into std::vector and remove corrupted data (for test beam analysis) ...
Class to access the naming information of the MVD.
virtual void SetClusterFinder()=0
ClassDef(PndSdsPixelClusterTask, 4)
PndSdsPixelDigiPar * fDigiPar
TString fInBranchName
Definition: PndSdsTask.h:34
Base class for cluster finding algorithms.
PndSdsPixelClusterTask(const PndSdsPixelClusterTask &other)
PndSdsPixelClusterFinder * fClusterFinder
virtual void SetBackMapping()=0
void Exec(Option_t *opt)
PndSdsPixelClusterTask & operator=(PndSdsPixelClusterTask &other)
virtual void InitMQ(TList *tempList)
virtual void SetParContainers()
virtual void SetClusterFinderMQ(TList *)
virtual ~PndSdsPixelClusterTask()
PndSdsChargeConversion * fChargeConverter
virtual void SetBackMappingMQ(TList *)
Digitization Parameter Class for SDS-Pixel part.
virtual void GetParList(TList *tempList)