FairRoot/PandaRoot
Public Member Functions | Protected Attributes | Private Member Functions | Static Private Attributes | List of all members
PndGemRecoHit2 Class Reference

#include <PndGemRecoHit2.h>

Inheritance diagram for PndGemRecoHit2:
genfit::PlanarMeasurement genfit::AbsMeasurement

Public Member Functions

 PndGemRecoHit2 ()
 
 PndGemRecoHit2 (PndGemMCPoint *point)
 
 PndGemRecoHit2 (PndGemHit *hit, const genfit::TrackCandHit *candHit)
 
virtual ~PndGemRecoHit2 ()
 
virtual genfit::AbsMeasurementclone ()
 
virtual AbsMeasurementclone () const
 Deep copy ctor for polymorphic class. More...
 
int getPlaneId () const
 
virtual SharedPlanePtr constructPlane (const StateOnPlane &state) const
 
virtual std::vector
< MeasurementOnPlane * > 
constructMeasurementsOnPlane (const StateOnPlane &state) const
 
virtual const AbsHMatrix * constructHMatrix (const AbsTrackRep *) const
 
virtual void setPlane (const SharedPlanePtr &physicalPlane, int planeId=-1)
 
void setStripV (bool v=true)
 Use if the coordinate for 1D hits measured in V direction. More...
 
TrackPoint * getTrackPoint () const
 
void setTrackPoint (TrackPoint *tp)
 
const TVectorD & getRawHitCoords () const
 
TVectorD & getRawHitCoords ()
 
const TMatrixDSym & getRawHitCov () const
 
TMatrixDSym & getRawHitCov ()
 
int getDetId () const
 
int getHitId () const
 
virtual bool isLeftRightMeasurement () const
 If the AbsMeasurement is a wire hit, the left/right resolution will be used. More...
 
virtual int getLeftRightResolution () const
 
unsigned int getDim () const
 
void setRawHitCoords (const TVectorD &coords)
 
void setRawHitCov (const TMatrixDSym &cov)
 
void setDetId (int detId)
 
void setHitId (int hitId)
 
virtual void Print (const Option_t *="") const
 

Protected Attributes

SharedPlanePtr physicalPlane_
 
int planeId_
 This is persistent, but '!' makes ROOT shut up. More...
 
bool stripV_
 
TVectorD rawHitCoords_
 
TMatrixDSym rawHitCov_
 
int detId_
 
int hitId_
 
TrackPoint * trackPoint_
 Pointer to TrackPoint where the measurement belongs to. More...
 

Private Member Functions

 ClassDef (PndGemRecoHit2, 1)
 

Static Private Attributes

static const Int_t fNparHitRep = 2
 

Detailed Description

Definition at line 38 of file PndGemRecoHit2.h.

Constructor & Destructor Documentation

PndGemRecoHit2::PndGemRecoHit2 ( )

Definition at line 46 of file PndGemRecoHit2.cxx.

Referenced by clone().

48 {
49  // fGeoH = new PndGemGeoHandling(gGeoManager);
50 }
Measurement class implementing a planar hit geometry (1 or 2D).
static const Int_t fNparHitRep
PndGemRecoHit2::PndGemRecoHit2 ( PndGemMCPoint point)

Definition at line 53 of file PndGemRecoHit2.cxx.

References genfit::AbsMeasurement::rawHitCoords_, genfit::AbsMeasurement::rawHitCov_, genfit::PlanarMeasurement::setPlane(), and v.

55 {
56  // std::cout<<" -I- PndGemRecoHit::PndGemRecoHit(PndGemMCPoint*) called."<<std::endl;
57 
58  rawHitCoords_[0] = point->GetX();
59  rawHitCoords_[1] = point->GetY();
60 
61  rawHitCov_[0][0] = 0.01;
62  rawHitCov_[1][1] = 0.01;
63 
64  TVector3 o(0.,0.,point->GetZ()),
65  u(1.,0.,0.),
66  v(0.,1.,0.);
67 
69  setPlane(plane);
70 
71 }
Detector plane.
Definition: DetPlane.h:61
boost::shared_ptr< genfit::DetPlane > SharedPlanePtr
Shared Pointer to a DetPlane.
Measurement class implementing a planar hit geometry (1 or 2D).
__m128 v
Definition: P4_F32vec4.h:4
static const Int_t fNparHitRep
virtual void setPlane(const SharedPlanePtr &physicalPlane, int planeId=-1)
PndGemRecoHit2::PndGemRecoHit2 ( PndGemHit hit,
const genfit::TrackCandHit candHit 
)

Definition at line 74 of file PndGemRecoHit2.cxx.

References CAMath::Cos(), Double_t, fGeoFile, genfit::TrackCandHit::getDetId(), PndGemHit::GetDp(), PndGemHit::GetDr(), genfit::TrackCandHit::getHitId(), genfit::TrackCandHit::getPlaneId(), Pi, genfit::AbsMeasurement::rawHitCoords_, genfit::AbsMeasurement::rawHitCov_, genfit::AbsMeasurement::setDetId(), genfit::AbsMeasurement::setHitId(), genfit::PlanarMeasurement::setPlane(), CAMath::Sin(), CAMath::Sqrt(), and TString.

76 {
77 
78  // std::cout<<" -I- PndGemRecoHit::PndGemRecoHit(PndGemHit*) called."<<std::endl;
79  // std::cout<<*hit<<std::endl;
80 
81 
82  setDetId(candHit->getDetId());
83  setHitId(candHit->getHitId());
84 
85  FairRootManager* ioman = FairRootManager::Instance();
86  TString fGeoFile = ioman->GetInFile()->GetName();
87  // PndGemGeoHandling* fGeoH = new PndGemGeoHandling(fGeoFile.Data());
88  //TString path = fGeoH->GetPath(id);
89 
90  Double_t hitX = hit->GetX(), hitY = hit->GetY();
91  Double_t phiAValue = TMath::ATan(hitX/hitY);
92  if ( hitY < 0 ) phiAValue += TMath::Pi();
93  else if ( hitX < 0 ) phiAValue += 2.*TMath::Pi();
94 
95  TVector3 oo (0.,0.,hit->GetZ()),
96  // uu ( TMath::Cos(phiAValue),TMath::Sin(phiAValue),0),
97  // vv (-TMath::Sin(phiAValue),TMath::Cos(phiAValue),0);
98  uu ( TMath::Sin(phiAValue), TMath::Cos(phiAValue),0),
99  vv ( TMath::Cos(phiAValue),-TMath::Sin(phiAValue),0);
100 
101  rawHitCoords_[0] = TMath::Sqrt(hitX*hitX+hitY*hitY);
102  rawHitCoords_[1] = 0.;
103 
104  rawHitCov_[0][0] = hit->GetDr()*hit->GetDr();
105  rawHitCov_[1][1] = hit->GetDp()*hit->GetDp();
106 
107  genfit::SharedPlanePtr plane(new genfit::DetPlane(oo,uu,vv));
108  setPlane(plane, candHit->getPlaneId());
109  //============================================================================
110 }
int getDetId() const
Definition: TrackCandHit.h:48
int getPlaneId() const
Definition: TrackCandHit.h:50
Detector plane.
Definition: DetPlane.h:61
boost::shared_ptr< genfit::DetPlane > SharedPlanePtr
Shared Pointer to a DetPlane.
static T Sqrt(const T &x)
Definition: PndCAMath.h:37
static T Sin(const T &x)
Definition: PndCAMath.h:42
int getHitId() const
Definition: TrackCandHit.h:49
Measurement class implementing a planar hit geometry (1 or 2D).
static T Cos(const T &x)
Definition: PndCAMath.h:43
void setDetId(int detId)
static const Int_t fNparHitRep
Double_t
Double_t GetDp() const
Definition: PndGemHit.h:76
void setHitId(int hitId)
Double_t GetDr() const
Definition: PndGemHit.h:75
TString fGeoFile
Double_t Pi
virtual void setPlane(const SharedPlanePtr &physicalPlane, int planeId=-1)
PndGemRecoHit2::~PndGemRecoHit2 ( )
virtual

Definition at line 40 of file PndGemRecoHit2.cxx.

41 {
42 // if(fGeoH!=0)
43 // delete (fGeoH);
44 }

Member Function Documentation

PndGemRecoHit2::ClassDef ( PndGemRecoHit2  ,
 
)
private
virtual genfit::AbsMeasurement* PndGemRecoHit2::clone ( )
inlinevirtual

Definition at line 49 of file PndGemRecoHit2.h.

References PndGemRecoHit2().

49 {return new PndGemRecoHit2(*this);};
virtual AbsMeasurement* genfit::PlanarMeasurement::clone ( ) const
inlinevirtualinherited

Deep copy ctor for polymorphic class.

Implements genfit::AbsMeasurement.

Definition at line 52 of file PlanarMeasurement.h.

References genfit::PlanarMeasurement::PlanarMeasurement().

52 {return new PlanarMeasurement(*this);}
virtual const AbsHMatrix* genfit::PlanarMeasurement::constructHMatrix ( const AbsTrackRep ) const
virtualinherited

Returns a new AbsHMatrix object. Caller must take ownership.

Implements genfit::AbsMeasurement.

virtual std::vector<MeasurementOnPlane*> genfit::PlanarMeasurement::constructMeasurementsOnPlane ( const StateOnPlane state) const
virtualinherited

Construct MeasurementOnPlane on plane of the state and wrt the states TrackRep. The state will usually be the prediction or reference state, and has to be defined AT the measurement. The AbsMeasurement will be projected onto the plane. It's possible to make corrections to the coordinates here (e.g. by using the state coordinates). Usually the vector will contain only one element. But in the case of e.g. a WireMeasurement, it will be 2 (left and right).

Implements genfit::AbsMeasurement.

virtual SharedPlanePtr genfit::PlanarMeasurement::constructPlane ( const StateOnPlane state) const
virtualinherited

Construct (virtual) detector plane (use state's AbsTrackRep). It's possible to make corrections to the plane here. The state should be defined somewhere near the measurement. For virtual planes, the state will be extrapolated to the POCA to point (SpacepointMeasurement) or line (WireMeasurement), and from this info the plane will be constructed.

Implements genfit::AbsMeasurement.

int genfit::AbsMeasurement::getDetId ( ) const
inlineinherited

Definition at line 62 of file AbsMeasurement.h.

References genfit::AbsMeasurement::detId_.

62 {return detId_;}
unsigned int genfit::AbsMeasurement::getDim ( ) const
inlineinherited

Definition at line 69 of file AbsMeasurement.h.

References genfit::AbsMeasurement::rawHitCoords_.

69 {return rawHitCoords_.GetNrows();}
int genfit::AbsMeasurement::getHitId ( ) const
inlineinherited

Definition at line 63 of file AbsMeasurement.h.

References genfit::AbsMeasurement::hitId_.

63 {return hitId_;}
virtual int genfit::AbsMeasurement::getLeftRightResolution ( ) const
inlinevirtualinherited

Reimplemented in genfit::WireMeasurementNew, and genfit::WireMeasurement.

Definition at line 67 of file AbsMeasurement.h.

67 {return 0;}
int genfit::PlanarMeasurement::getPlaneId ( ) const
inlineinherited

Definition at line 54 of file PlanarMeasurement.h.

References genfit::PlanarMeasurement::planeId_.

54 {return planeId_;}
int planeId_
This is persistent, but &#39;!&#39; makes ROOT shut up.
const TVectorD& genfit::AbsMeasurement::getRawHitCoords ( ) const
inlineinherited

Definition at line 58 of file AbsMeasurement.h.

References genfit::AbsMeasurement::rawHitCoords_.

58 {return rawHitCoords_;}
TVectorD& genfit::AbsMeasurement::getRawHitCoords ( )
inlineinherited

Definition at line 60 of file AbsMeasurement.h.

References genfit::AbsMeasurement::rawHitCoords_.

60 {return rawHitCoords_;}
const TMatrixDSym& genfit::AbsMeasurement::getRawHitCov ( ) const
inlineinherited

Definition at line 59 of file AbsMeasurement.h.

References genfit::AbsMeasurement::rawHitCov_.

59 {return rawHitCov_;}
TMatrixDSym& genfit::AbsMeasurement::getRawHitCov ( )
inlineinherited

Definition at line 61 of file AbsMeasurement.h.

References genfit::AbsMeasurement::rawHitCov_.

61 {return rawHitCov_;}
TrackPoint* genfit::AbsMeasurement::getTrackPoint ( ) const
inlineinherited

Definition at line 55 of file AbsMeasurement.h.

References genfit::AbsMeasurement::trackPoint_.

55 {return trackPoint_;}
TrackPoint * trackPoint_
Pointer to TrackPoint where the measurement belongs to.
virtual bool genfit::AbsMeasurement::isLeftRightMeasurement ( ) const
inlinevirtualinherited

If the AbsMeasurement is a wire hit, the left/right resolution will be used.

Reimplemented in genfit::WireMeasurement.

Definition at line 66 of file AbsMeasurement.h.

66 {return false;}
virtual void genfit::AbsMeasurement::Print ( const Option_t *  = "") const
virtualinherited
void genfit::AbsMeasurement::setDetId ( int  detId)
inlineinherited
void genfit::AbsMeasurement::setHitId ( int  hitId)
inlineinherited
virtual void genfit::PlanarMeasurement::setPlane ( const SharedPlanePtr physicalPlane,
int  planeId = -1 
)
inlinevirtualinherited

Definition at line 62 of file PlanarMeasurement.h.

References genfit::PlanarMeasurement::physicalPlane_, and genfit::PlanarMeasurement::planeId_.

Referenced by PndGemRecoHit2(), and PndSdsRecoHit2::PndSdsRecoHit2().

62 {physicalPlane_ = physicalPlane; planeId_ = planeId;}
int planeId_
This is persistent, but &#39;!&#39; makes ROOT shut up.
void genfit::AbsMeasurement::setRawHitCoords ( const TVectorD &  coords)
inlineinherited

Definition at line 71 of file AbsMeasurement.h.

References genfit::AbsMeasurement::rawHitCoords_.

71 {rawHitCoords_ = coords;}
void genfit::AbsMeasurement::setRawHitCov ( const TMatrixDSym &  cov)
inlineinherited

Definition at line 72 of file AbsMeasurement.h.

References genfit::AbsMeasurement::rawHitCov_.

72 {rawHitCov_ = cov;}
void genfit::PlanarMeasurement::setStripV ( bool  v = true)
inlineinherited

Use if the coordinate for 1D hits measured in V direction.

Per default for 1D planar hits, the coordinate is measured in U direction. With this function you can set it to be measured in V direction. This affects the outcoe of constructHMatrix().

Definition at line 70 of file PlanarMeasurement.h.

References genfit::PlanarMeasurement::stripV_, and v.

70 {stripV_ = v;}
__m128 v
Definition: P4_F32vec4.h:4
void genfit::AbsMeasurement::setTrackPoint ( TrackPoint tp)
inlineinherited

Definition at line 56 of file AbsMeasurement.h.

References genfit::AbsMeasurement::trackPoint_.

Referenced by genfit::TrackPoint::addRawMeasurement().

56 {trackPoint_ = tp;}
TrackPoint * trackPoint_
Pointer to TrackPoint where the measurement belongs to.

Member Data Documentation

int genfit::AbsMeasurement::detId_
protectedinherited
const Int_t PndGemRecoHit2::fNparHitRep = 2
staticprivate

Definition at line 54 of file PndGemRecoHit2.h.

int genfit::AbsMeasurement::hitId_
protectedinherited
SharedPlanePtr genfit::PlanarMeasurement::physicalPlane_
protectedinherited

Definition at line 73 of file PlanarMeasurement.h.

Referenced by genfit::PlanarMeasurement::setPlane().

int genfit::PlanarMeasurement::planeId_
protectedinherited

This is persistent, but '!' makes ROOT shut up.

Definition at line 74 of file PlanarMeasurement.h.

Referenced by genfit::PlanarMeasurement::getPlaneId(), and genfit::PlanarMeasurement::setPlane().

TVectorD genfit::AbsMeasurement::rawHitCoords_
protectedinherited
TMatrixDSym genfit::AbsMeasurement::rawHitCov_
protectedinherited
bool genfit::PlanarMeasurement::stripV_
protectedinherited

Definition at line 75 of file PlanarMeasurement.h.

Referenced by genfit::PlanarMeasurement::setStripV().

TrackPoint* genfit::AbsMeasurement::trackPoint_
protectedinherited

Pointer to TrackPoint where the measurement belongs to.

Definition at line 119 of file AbsMeasurement.h.

Referenced by genfit::AbsMeasurement::getTrackPoint(), and genfit::AbsMeasurement::setTrackPoint().


The documentation for this class was generated from the following files: