#include "PndTorinoDetectorRecoHit.h" #include "GeaneTrackRep.h" #include "PndTorinoDetectorHit.h" PndTorinoDetectorRecoHit::PndTorinoDetectorRecoHit() : GFRecoHitIfc(fNparHitRep) {} PndTorinoDetectorRecoHit::PndTorinoDetectorRecoHit(PndTorinoDetectorHit *hit) : GFRecoHitIfc(fNparHitRep) { // coordinates fHitCoord[0][0] = hit->GetX(); fHitCoord[1][0] = hit->GetY(); // covariance matrix (diagonal) fHitCov[0][0] = hit->GetDx() * hit->GetDx(); fHitCov[1][1] = hit->GetDy() * hit->GetDy(); // plane TVector3 o(0., 0., hit->GetZ()); TVector3 u(1., 0., 0.); TVector3 v(0., 1., 0.); fPolicy.setDetPlane(GFDetPlane(o,u,v)); } PndTorinoDetectorRecoHit::~PndTorinoDetectorRecoHit() {} // H matrix: measurement from 5 to 2 TMatrixT PndTorinoDetectorRecoHit::getHMatrix(const GFAbsTrackRep* stateVector) { if (dynamic_cast(stateVector) != NULL) { TMatrixT HMatrix(fNparHitRep,5); HMatrix[0][0] = 0.; HMatrix[0][1] = 0.; HMatrix[0][2] = 0.; HMatrix[0][3] = 1.; HMatrix[0][4] = 0.; HMatrix[1][0] = 0.; HMatrix[1][1] = 0.; HMatrix[1][2] = 0.; HMatrix[1][3] = 0.; HMatrix[1][4] = 1.; return HMatrix; } else { std::cerr << "PndPndTorinoDetectorRecoHit can only handle state" << " vectors of type GeaneTrackRep -> abort" << std::endl; throw; } } ClassImp(PndTorinoDetectorRecoHit)