PandaRoot
PndSdsIdealClusterTask.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 
20 #ifndef PndSdsIdealClusterTASK_H
21 #define PndSdsIdealClusterTASK_H
22 
23 #include "PndSdsTask.h"
24 //#include "PndSdsGeoPar.h"
25 #include "PndSdsHit.h"
26 #include "PndSdsMCPoint.h"
27 #include "PndSdsPixel.h"
29 #include "FairGeoVector.h"
30 #include "FairGeoTransform.h"
31 #include "TVector3.h"
32 #include "TRandom.h"
33 #include "TGeoMatrix.h"
34 #include "TGeoBBox.h"
36 #include "PndSdsStripHitProducer.h"
37 #include "PndGeoHandling.h"
40 
41 #include <string>
42 #include <vector>
43 
44 class TClonesArray;
45 
47  public:
50  PndSdsIdealClusterTask(Double_t radius, Int_t FEcolumns, Int_t FErows, TString geoFile);
53  fHitArray(other.fHitArray), fGeoH(other.fGeoH), fRadius(other.fRadius), fFEcolumns(other.fFEcolumns), fFErows(other.fFErows), fGeoFile(other.fGeoFile), finder(other.finder),
54  mapping(other.mapping){};
56  virtual ~PndSdsIdealClusterTask();
58  {
59  fDigiArray = other.fDigiArray;
61  fClusterType = other.fClusterType;
63  fHitArray = other.fHitArray;
64  fGeoH = other.fGeoH;
65  fRadius = other.fRadius;
66  fFEcolumns = other.fFEcolumns;
67  fFErows = other.fFErows;
68  fGeoFile = other.fGeoFile;
69  finder = other.finder;
70  mapping = other.mapping;
71  return *this;
72  };
79  virtual void SetParContainers();
80  virtual InitStatus Init();
81  virtual InitStatus ReInit();
82 
83  virtual void SetInBranchId()
84  {
85  FairRootManager *ioman = FairRootManager::Instance();
86  fInBranchId = ioman->GetBranchId(fInBranchName);
87  std::cout << "InBranchId: " << fInBranchId << " for Branch: " << fInBranchName.Data() << std::endl;
88  fClusterType = ioman->GetBranchId(fClustBranchName);
89  }
90 
92  virtual void Exec(Option_t *opt);
93 
94  protected:
96  TClonesArray *fDigiArray;
97 
99  Int_t fClusterType;
100 
102  TClonesArray *fClusterArray;
103  TClonesArray *fHitArray;
104  // TClonesArray* fPixelArray;
105  // TClonesArray* fFePixelArray;
106 
108 
109  void Register();
110  void Reset();
111  void ProduceHits();
112 
113  Double_t fRadius;
114  Int_t fFEcolumns;
115  Int_t fFErows;
116  TString fGeoFile;
117 
118  // TGeoHMatrix GetTransformation (std::string detName);
119  // void GetLocalHitPoints(PndSdsMCPoint* myPoint, FairGeoVector& myHitIn, FairGeoVector& myHitOut);
120  // PndSdsHit CalcGlobalPoint(std::vector<PndSdsPixel> pixels);
121  // TVector3 GetSensorDimensions(std::string detName);
122 
125 
127 };
128 
129 #endif /* PndSdsIdealClusterTASK_H */
PndSdsIdealClusterTask(PndSdsIdealClusterTask &other)
Int_t fInBranchId
Definition: PndSdsTask.h:50
ClassDef(PndSdsIdealClusterTask, 1)
virtual void Exec(Option_t *opt)
PndSdsChargedWeightedPixelMapping: Gets a vector of DigiHits and calculates the cluster center weight...
PndSdsIdealPixelClusterFinder * finder
PndSdsChargeWeightedPixelMapping * mapping
Class to access the naming information of the MVD.
TString fInBranchName
Definition: PndSdsTask.h:46
virtual ~PndSdsIdealClusterTask()
virtual InitStatus ReInit()
virtual void SetParContainers()
PndSdsIdealClusterTask & operator=(PndSdsIdealClusterTask &other)
virtual InitStatus Init()