ATTPCROOT  0.3.0-alpha
A ROOT-based framework for analyzing data from active target detectors
AtPatternRay.h
Go to the documentation of this file.
1 #ifndef ATPATTERNRAY_H
2 #define ATPATTERNRAY_H
3 
4 #include "AtPatternLine.h"
5 
6 #include <Rtypes.h> // for THashConsistencyHolder, ClassDefOverride
7 
8 #include <memory> // for make_unique, unique_ptr
9 #include <vector> // for vector
10 
11 class TBuffer;
12 class TClass;
13 class TEveElement;
14 class TMemberInspector;
15 
16 namespace AtPatterns {
17 class AtPattern;
18 }
19 
20 namespace AtPatterns {
21 
27 class AtPatternRay : public AtPatternLine {
28 public:
29  AtPatternRay();
30 
31  void DefinePattern(XYZPoint point, XYZVector direction);
32  virtual void DefinePattern(const std::vector<XYZPoint> &points) override { AtPatternLine::DefinePattern(points); }
33  virtual Double_t DistanceToPattern(const XYZPoint &point) const override;
34  virtual XYZPoint ClosestPointOnPattern(const XYZPoint &point) const override;
35  virtual XYZPoint GetPointAt(double z) const override;
36  virtual TEveElement *GetEveElement() const override;
37  virtual std::unique_ptr<AtPattern> Clone() const override { return std::make_unique<AtPatternRay>(*this); }
38 
39  ClassDefOverride(AtPatternRay, 1)
40 };
41 
42 } // namespace AtPatterns
43 
44 #endif //#ifndef ATPATTERNRAY_H
AtPatterns::AtPatternLine
Describes a linear track.
Definition: AtPatternLine.h:28
AtPatterns::AtPatternRay::DistanceToPattern
virtual Double_t DistanceToPattern(const XYZPoint &point) const override
Closest distance to pattern.
Definition: AtPatternRay.cxx:30
XYZPoint
ROOT::Math::XYZPoint XYZPoint
Definition: AtPatternCircle2D.h:18
AtPatternLine.h
AtPatterns::AtPatternLine::XYZVector
ROOT::Math::XYZVector XYZVector
Definition: AtPatternLine.h:31
AtPatterns::AtPatternRay::GetEveElement
virtual TEveElement * GetEveElement() const override
Get visual representation of pattern.
Definition: AtPatternRay.cxx:19
AtPatterns::AtPatternRay::DefinePattern
void DefinePattern(XYZPoint point, XYZVector direction)
Definition: AtPatternRay.cxx:43
AtPatterns::AtPatternRay::AtPatternRay
AtPatternRay()
Definition: AtPatternRay.cxx:17
AtPatterns::AtPatternRay::GetPointAt
virtual XYZPoint GetPointAt(double z) const override
Get point on line at z.
Definition: AtPatternRay.cxx:36
AtPatterns
Definition: AtFissionEvent.h:21
AtPatterns::AtPatternRay::DefinePattern
virtual void DefinePattern(const std::vector< XYZPoint > &points) override
Define based on points.
Definition: AtPatternRay.h:32
AtPatterns::AtPatternRay::Clone
virtual std::unique_ptr< AtPattern > Clone() const override
Definition: AtPatternRay.h:37
AtPatterns::AtPatternRay
Describes a linear track with an end point.
Definition: AtPatternRay.h:27
AtPatterns::AtPatternRay::ClosestPointOnPattern
virtual XYZPoint ClosestPointOnPattern(const XYZPoint &point) const override
Closest point on pattern.
Definition: AtPatternRay.cxx:24
AtPatterns::AtPatternLine::DefinePattern
virtual void DefinePattern(const std::vector< XYZPoint > &points) override
Define based on points.
Definition: AtPatternLine.cxx:53
AtPatterns::AtPattern::XYZPoint
ROOT::Math::XYZPoint XYZPoint
Definition: AtPattern.h:42