//----------------------------------------------------------- // File and Version Information: // $Id$ // // Description: // Implementation of class TBGEMRecoHit // see PndGemRecoHit.h for details // // Environment: // // Author List: // Sebastian Neubert TUM (original author) // Maxence Vandenbroucke TUM (application to TBGEMCluster) // //----------------------------------------------------------- // C/C++ Headers ---------------------- // root Headers ---------------------- #include "TMatrixT.h" #include "TMath.h" // Collaborating Class Headers -------- #include "RKTrackRep.h" #include "GFDetPlane.h" // This Class' Header ------------------ #include "TBGEMRecoHit.h" #include "TBGEMCluster.h" #include "FairRootManager.h" #include "TpcAlignmentManager.h" // Class Member definitions ----------- ClassImp(TBGEMRecoHit); TBGEMRecoHit::~TBGEMRecoHit() {} TBGEMRecoHit::TBGEMRecoHit() : GFRecoHitIfc(fNparHitRep) {} TBGEMRecoHit::TBGEMRecoHit(const TBGEMCluster* hit) : GFRecoHitIfc(fNparHitRep) { Double_t hitX = hit->u();//hit->.... fHitCoord[0][0] = hitX; // fHitCoord[1][0] = hitY; fHitCov[0][0] = hit->xerr()*hit->xerr(); // fHitCov[1][1] = hit->yerr()*hit->yerr(); /* TpcAlignmentManager * alMan= hit->alMan(); if(!alMan){ std::cerr << "TBGEMRecoHit: TBGEMClusters.getAlMan() return NULL" << std::endl; throw; return; } int detid = hit->detid(); TVector3 uu = alMan->localToMaster(detid,TVector3(1,0,0)); TVector3 vv = alMan->localToMaster(detid,TVector3(0,1,0)); TVector3 oo = alMan->localToMaster(detid,TVector3(0,0,0)); */ TVector3 uu(1,1,1), vv(0,0,0), oo(0,0,0); hit->GetPlane(uu,vv,oo); std::cout << "RecoHit: " <> " << vv.x() << " " << vv.y() << " " << vv.z() << std::endl; fPolicy.setDetPlane(GFDetPlane(oo,uu,vv)); //============================================================================ } TMatrixT TBGEMRecoHit::getHMatrix(const GFAbsTrackRep* stateVector) { if (dynamic_cast(stateVector) != NULL) { // Uses TrackParP (q/p,v',w',v,w) // coordinates are defined by detplane! TMatrixT HMatrix(1,5); HMatrix[0][0] = 0.; HMatrix[0][1] = 0.; HMatrix[0][2] = 0.; HMatrix[0][3] = 1.; HMatrix[0][4] = 0.; return HMatrix; } else { std::cerr << "TBGEMRecoHit can only handle RK tracks" << std::endl; throw; } } Double_t TBGEMRecoHit::residualScalar(GFAbsTrackRep* stateVector, const TMatrixT& state) { throw; }