FairRoot/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 
6 
18 #ifndef PNDSDSPIXELCLUSTERTASK_H
19 #define PNDSDSPIXELCLUSTERTASK_H
20 
21 #include "PndSdsTask.h"
22 //#include "PndSdsGeoPar.h"
23 #include "PndSdsHit.h"
24 #include "PndSdsMCPoint.h"
25 #include "PndSdsPixel.h"
26 #include "PndSdsFE.h"
27 // #include "PndSdsCluster.h"
28 #include "FairGeoVector.h"
29 #include "FairGeoTransform.h"
30 #include "TVector3.h"
31 #include "TRandom.h"
32 #include "TGeoMatrix.h"
33 #include "TGeoBBox.h"
35 #include "PndSdsStripHitProducer.h"
36 #include "PndSdsPixelDigiPar.h"
37 #include "PndSdsTotDigiPar.h"
38 #include "PndSdsChargeConversion.h"
39 #include "PndDetectorList.h"
40 #include "PndGeoHandling.h"
41 
43 #include "PndSdsPixelBackMapping.h"
44 
45 #include "FairTSBufferFunctional.h"
46 
47 #include <string>
48 #include <vector>
49 
50 class TClonesArray;
51 
53  {
54  public:
55 
59  PndSdsTask(),
61  fFEModel(other.fFEModel),
62  fDigiArray(other.fDigiArray),
63  fDigiPar(other.fDigiPar),
65  fGeoH(other.fGeoH),
68  fHitArray(other.fHitArray),
70  fFunctor(other.fFunctor),
73  fEventNr(other.fEventNr),
76  {};
78  PndSdsPixelClusterTask(const char* name);
79 
81  virtual ~PndSdsPixelClusterTask();
83  {
85  fFEModel=other.fFEModel;
86  fDigiArray=other.fDigiArray;
87  fDigiPar=other.fDigiPar;
89  fGeoH=other.fGeoH;
92  fHitArray=other.fHitArray;
94  fFunctor=other.fFunctor;
97  fEventNr=other.fEventNr;
100  return *this;
101  };
102  virtual void SetClusterFinder()=0;
103  virtual void SetBackMapping()=0;
104 
107 
108  virtual void SetInBranchId(){
109  FairRootManager *ioman = FairRootManager::Instance();
110  fInBranchId = ioman->GetBranchId(fInBranchName);
111  std::cout << "InBranchId: " << fInBranchId << " for Branch: " << fInBranchName.Data() << std::endl;
112  fClusterType = ioman->GetBranchId(fClustBranchName);
113  std::cout << "fClusterType: " << fClusterType << " for Branch: " << fClustBranchName.Data() << std::endl;
114  }
115 
117  virtual void SetParContainers();
118  virtual InitStatus Init();
119  virtual InitStatus ReInit();
120  virtual void FinishEvent();
121 
123  virtual void SetClusterFinderMQ(TList*){}; // tempList //[R.K.03/2017] unused variable(s)
124  virtual void SetBackMappingMQ(TList* ){}; // tempList //[R.K.03/2017] unused variable(s)
125  virtual void InitMQ(TList* tempList);
126  virtual void GetParList(TList* tempList);
127  virtual void ExecMQ(TList* inputList,TList* outputList);
128 
130  void Exec(Option_t* opt);
131 
132 
133  protected:
134 
135  Bool_t fUseNoiseSuppression; // switch to turn on/off noise cancellation by introducing an additional cluster threshold
136 
138 
140  TClonesArray* fDigiArray;
144 
147  TClonesArray* fClusterArray;
148  TClonesArray* fHitArray;
149  FairEventHeader* fEventHeader;
150 
151  BinaryFunctor* fFunctor;
152  BinaryFunctor* fStartFunctor;
153 
155  Int_t fEventNr;
156 
157  void Register();
158  void Reset();
159  void ProduceHits();
160  virtual std::vector<PndSdsDigiPixel> ConvertAndFilter(TClonesArray* digidata);
161 
164 
165 // TGeoHMatrix GetTransformation (std::string detName);
166 // void GetLocalHitPoints(PndSdsMCPoint* myPoint, FairGeoVector& myHitIn, FairGeoVector& myHitOut);
167 // PndSdsHit CalcGlobalPoint(std::vector<PndSdsPixel> pixels);
168 // TVector3 GetSensorDimensions(std::string detName);
169 
171 
172  };
173 
174 #endif /* SDSCLUSTERTASK_H */
175 
virtual void ExecMQ(TList *inputList, TList *outputList)
Int_t fInBranchId
Definition: PndSdsTask.h:43
PndSdsPixelBackMapping * fBackMapping
Double_t val[nBoxes][nFEBox]
Definition: createCalib.C:11
void SetNoiseSuppression(Bool_t val)
Class to access the naming information of the MVD.
virtual void SetClusterFinder()=0
ClassDef(PndSdsPixelClusterTask, 4)
PndSdsPixelDigiPar * fDigiPar
TString fInBranchName
Definition: PndSdsTask.h:39
Base class for cluster finding algorithms.
PndSdsPixelClusterTask(const PndSdsPixelClusterTask &other)
PndSdsPixelClusterFinder * fClusterFinder
virtual void InitMQ(TList *tempList)
virtual void SetBackMapping()=0
TString name
PndSdsPixelClusterTask & operator=(PndSdsPixelClusterTask &other)
virtual std::vector< PndSdsDigiPixel > ConvertAndFilter(TClonesArray *digidata)
convert TClonesArray into std::vector and remove corrupted data (for test beam analysis) ...
virtual void GetParList(TList *tempList)
virtual void SetClusterFinderMQ(TList *)
PndSdsChargeConversion * fChargeConverter
virtual void SetBackMappingMQ(TList *)
Digitization Parameter Class for SDS-Pixel part.