11 #include "TClonesArray.h"
12 #include "TParticlePDG.h"
14 #include "TGeoManager.h"
15 #include "TGeoMatrix.h"
18 #include "FairRootManager.h"
21 #include "FairRuntimeDb.h"
22 #include "../pnddata/PndMCTrack.h"
38 PndSdsTask(
"Reconstruction task for PANDA PndSds")
60 PndSdsTask(
"Reconstruction task for PANDA PndSds")
64 std::cout<<type<<
" Reconstruction task for PANDA PndSds"<<std::endl;
82 std::cout<<
"PndSdsRecoTask::Init() called."<<std::endl;
85 FairRootManager* ioman = FairRootManager::Instance();
87 std::cout <<
"-E- PndSdsRecoTask::Init: "
88 <<
"RootManager not instantiated!" << std::endl;
102 std::cout <<
"-W- PndSdsRecoTask::Init: No fDigiPixelArray!" << std::endl;
108 std::cout <<
"-W- PndSdsRecoTask::Init: No fDigiStripArray!" << std::endl;
134 unsigned int numOfRows = 0;
135 unsigned int numOfColumns = 0;
136 unsigned int numNormalColumns = 0;
138 unsigned int zFE = 0;
139 unsigned int rphiFE = 0;
140 unsigned int channelsFE = 128;
142 std::cout<<
"PndSdsRecoTask::Init(): Making PndSdsDetectorDescr "<<std::endl;
154 std::cout<<
"PndSdsRecoTask::Init() done."<<std::endl;
161 FairRun* ana = FairRun::Instance();
162 FairRuntimeDb*
rtdb=ana->GetRuntimeDb();
174 std::cout<<
"PndSdsRecoTask::Exec() started event no. "<<
fevent<<std::endl;
183 std::vector<PndSdsDigiPixel*> mvdPixelDigis;
184 std::vector<PndSdsDigiStrip*> mvdStripDigis;
185 std::vector<PndSdsHit*> mvdHits;
192 if (aDigiPixel != 0) {
193 mvdPixelDigis.push_back(aDigiPixel);
200 if (aDigiStrip != 0) {
201 mvdStripDigis.push_back(aDigiStrip);
205 std::cout<<
" mvdStripDigis[0] = "<<mvdStripDigis[0]<<std::endl;
206 std::cout<<
"PndSdsRecoTask::Exec() conversion done, start hitmaking."<<std::endl;
217 std::cout<<
"PndSdsRecoTask::Exec() hitmaking done, reconvert now."<<std::endl;
260 Double_t O[3], U[3], V[3], o[3], u[3],
v[3];
261 O[0]=oVect.x(); O[1]=oVect.y(); O[2]=oVect.z();
262 U[0]=uVect.x(); U[1]=uVect.y(); U[2]=uVect.z();
263 V[0]=vVect.x(); V[1]=vVect.y(); V[2]=vVect.z();
266 std::cout<<
"PndSdsRecoTask::CalcDetPlane from Detector "
273 oVect.SetXYZ(o[0],o[1],o[2]);
274 uVect.SetXYZ(u[0],u[1],u[2]);
275 vVect.SetXYZ(v[0],v[1],v[2]);
virtual ~PndSdsRecoTask()
Class for digitised strip hits.
TClonesArray * fHitOutputArray
TClonesArray * fDigiStripArray
TGeoManager * gGeoManager
virtual InitStatus Init()
void CalcDetPlane(TVector3 &o, TVector3 &u, TVector3 &v)
virtual void SetBranchNames()=0
TClonesArray * fDigiPixelArray
virtual void SetParContainers()
Data class to store the digi output of a pixel module.
virtual void Exec(Option_t *opt)
TGeoHMatrix * fCurrentTransMat
PndSdsMCPoint * fCurrentPndSdsMCPoint
virtual void SetInBranchId()