10 #include "TClonesArray.h"
11 #include "TParticlePDG.h"
13 #include "TGeoManager.h"
14 #include "TGeoMatrix.h"
17 #include "FairRootManager.h"
19 #include "FairRunAna.h"
20 #include "FairRuntimeDb.h"
21 #include "../pnddata/PndMCTrack.h"
30 FairTask(
"Ideal reconstruction task for PANDA PndGem"),
43 FairTask(
"Ideal reconstruction task for PANDA PndGem"),
65 FairRootManager* ioman = FairRootManager::Instance();
67 std::cout <<
"-E- PndGemSmearingTask::Init: "
68 <<
"RootManager not instantiated!" << std::endl;
74 std::cout <<
"-W- PndGemSmearingTask::Init: "<<
"No "<<
fBranchName
75 <<
" array!" << std::endl;
81 std::cout <<
"-W- PndGemSmearingTask::Init: No McTruth array!" << std::endl;
86 ioman->Register(
"GEMHit",
"PndMvd ideal Hits",
89 std::cout <<
"-I- gGeoManager = "<<
gGeoManager << std::endl;
98 FairRun* ana = FairRun::Instance();
99 FairRuntimeDb*
rtdb=ana->GetRuntimeDb();
116 std::map<Int_t, PndGemHit*> clusterMap;
119 for(Int_t iMvdPoint=0;iMvdPoint<nPndGemHits;++iMvdPoint)
127 if(trackid<0)
continue;
131 TVector3 o(0.,0.,0.),u(1.,0.,0.),
v(0.,1.,0.);
151 <<
fPointArray->GetEntriesFast() <<
" Points"<<std::endl;
182 std::cout<<
"PndGemSmearingTask::smear Point (x,y,z)=("
183 <<pos.x()<<
","<<pos.z()<<
","<<pos.z()<<
") by ("
188 std::cout<<
"("<<pos.x()<<
","<<pos.y()<<
","<<pos.z()<<
")"<<std::endl;
198 std::cout<<
"PndGemSmearingTask::smearLocal"<<std::endl;
202 posLab[0]=pos.x(); posLab[1]=pos.y(); posLab[2]=pos.z();
205 pos.SetXYZ(posSens[0],posSens[1],posSens[2]);
209 posSens[0]=pos.x(); posSens[1]=pos.y(); posSens[2]=pos.z();
211 pos.SetXYZ(posLab[0],posLab[1],posLab[2]);
221 Double_t O[3], U[3], V[3], o[3], u[3],
v[3];
222 O[0]=oVect.x(); O[1]=oVect.y(); O[2]=oVect.z();
223 U[0]=uVect.x(); U[1]=uVect.y(); U[2]=uVect.z();
224 V[0]=vVect.x(); V[1]=vVect.y(); V[2]=vVect.z();
227 std::cout<<
"PndGemSmearingTask::CalcGFDetPlane from Detector sensorId "
234 oVect.SetXYZ(o[0],o[1],o[2]);
235 uVect.SetXYZ(u[0],u[1],u[2]);
236 vVect.SetXYZ(v[0],v[1],v[2]);
TGeoHMatrix * fCurrentTransMat
TClonesArray * fHitOutputArray
Digitization Parameter Class for GEM part.
TGeoManager * gGeoManager
virtual ~PndGemSmearingTask()
Int_t GetSensorId() const
void smear(TVector3 &pos)
TClonesArray * fPointArray
TString GetNodeName(Int_t sensorId)
virtual void SetParContainers()
void CalcGFDetPlane(TVector3 &o, TVector3 &u, TVector3 &v)
virtual void Exec(Option_t *opt)
PndGemMCPoint * fCurrentPndGemMCPoint
TClonesArray * fMctruthArray
void smearLocal(TVector3 &pos)
virtual InitStatus Init()