BmnRoot
Loading...
Searching...
No Matches
CbmL1SttHit.cxx
Go to the documentation of this file.
1
2#include "CbmL1SttHit.h"
3#include "CbmSttHit.h"
4#include "CbmKFTrackInterface.h"
5#include "CbmKF.h"
6#include "TMath.h"
7
8void CbmL1SttHit::Create( CbmSttHit *h, int ind )
9{
10 static const Double_t angle = 10. * TMath::DegToRad();
11
12 Double_t phi = 0.; // rotation angle
13 Int_t plane = h->GetPlaneID();
14 Int_t irot = (plane - 1) % 6;
15 irot = irot / 2;
16 //if (irot == 1) phi = angle;
17 //else if (irot == 2) phi = -angle;
18 if (irot == 1) phi = -angle;
19 else if (irot == 2) phi = angle;
20 FitPoint.Set (h->GetZ(), h->GetU(), phi, h->GetDx()*h->GetDx());
21 MaterialIndex = 0;
22 time = 0.;
23 iStation = h->GetPlaneID()-1;
24
25 /*
26 FitPoint.x = h->GetX();
27 FitPoint.y = h->GetY();
28 FitPoint.z = h->GetZ();
29 FitPoint.V[0] = h->GetDx()*h->GetDx();
30 FitPoint.V[1] = 0;
31 FitPoint.V[2] = h->GetDy()*h->GetDy();
32
33 CbmKF *KF = CbmKF::Instance();
34 iStation = h->GetStationNr()-1;
35 MaterialIndex = KF->GetMaterialIndex(KF->MuchStation2MCIDMap[iStation]);
36 time = h->GetTime(0);
37 */
38 busy = 0;
39 index = ind;
40}
41
42Int_t CbmL1SttHit::Filter( CbmKFTrackInterface &track, Bool_t downstream, Double_t &QP0 )
43{
44 Bool_t err = 0;
45 err = err || track.Propagate( FitPoint.z, QP0 );
46 err = err || FitPoint.Filter( track );
47 return err;
48}
Int_t MaterialIndex
Definition CbmKFHit.h:23
Int_t Propagate(Double_t z_out, Double_t QP0, Bool_t line=false)
void Set(Double_t z, Double_t u, Double_t phi, Double_t sigma2)
Int_t Filter(CbmKFTrackInterface &track)
Double_t time
Definition CbmL1SttHit.h:27
CbmKFUMeasurement FitPoint
Definition CbmL1SttHit.h:23
void Create(CbmSttHit *h, int index)
Int_t Filter(CbmKFTrackInterface &track, Bool_t downstream, Double_t &QP0)