BOSS 7.0.2
BESIII Offline Software System
Loading...
Searching...
No Matches
InstallArea/include/TrkReco/TrkReco/RkFitCylinder.h
Go to the documentation of this file.
1//-----------------------------------------------------------------------
2// File from RkFit module
3//
4// Filename : RkFitCylinder.h
5//------------------------------------------------------------------------
6// Description :
7// Cylinder is an Element whose shape is a cylinder.
8//------------------------------------------------------------------------
9// Modif :
10//------------------------------------------------------------------------
11
12#ifndef _DEFINE_CYLINDER_H_
13#define _DEFINE_CYLINDER_H_
14#include "CLHEP/Geometry/Point3D.h"
15#ifndef ENABLE_BACKWARDS_COMPATIBILITY
16typedef HepGeom::Point3D <double > HepPoint3D;
17#endif
18#include "TrkReco/RkFitMaterial.h"
19#include "TrkReco/TRunge.h"
20/// Cylinder is an Element whose shape is a cylinder.
22protected:
23 double ro_;
24 double ri_;
25 double zf_;
26 double zb_;
27public:
29 /// Constructor
31 double radius, double thick,
32 double length, double z0)
33 {
34 material_=material;
35 ri_ = radius;
36 ro_ = radius + thick;
37 zf_ = z0 + length * .5;
38 zb_ = z0 - length * .5;
39 }
40
41 /// Find intersection with Helix
42 double intersect( TRunge& track,
43 HepPoint3D& x) const;
44
45 double intersect( TRunge& track,
46 HepPoint3D& x, const HepPoint3D& point) const;
47 void updateTrack(TRunge& track,double y[6])const;
48
49 /// Check if the position x is inside the current cylinder
50 bool isInside(const HepPoint3D& x) const;
51 bool isInside2(const HepPoint3D& x) const;
52
53 /// Extract radius of the cylinder
54 virtual double radius(void) const { return ro_; }
55};
56#endif
57
HepGeom::Point3D< double > HepPoint3D
Cylinder is an Element whose shape is a cylinder.
RkFitCylinder(const RkFitMaterial *material, double radius, double thick, double length, double z0)
Constructor.
bool isInside2(const HepPoint3D &x) const
bool isInside(const HepPoint3D &x) const
Check if the position x is inside the current cylinder.
virtual double radius(void) const
Extract radius of the cylinder.
void updateTrack(TRunge &track, double y[6]) const
double intersect(TRunge &track, HepPoint3D &x) const
Find intersection with Helix.
A class to represent a track in tracking.