![]() |
|
|||
File indexing completed on 2025-05-12 09:05:01
0001 // -*- C++ -*- 0002 #ifndef RIVET_AxesDefinition_HH 0003 #define RIVET_AxesDefinition_HH 0004 0005 #include "Rivet/Projection.hh" 0006 #include "Rivet/Event.hh" 0007 0008 namespace Rivet { 0009 0010 0011 /// @brief Base class for projections which define a spatial basis. 0012 /// 0013 /// A pure virtual interface for projections which define a set of 3 0014 /// basis vectors. This allows e.g. Thrust and Sphericity to be used 0015 /// interchangeably as defining bases for e.g. hemisphere mass and broadening 0016 /// calculations. 0017 /// 0018 /// @author Andy Buckley 0019 class AxesDefinition : public Projection { 0020 public: 0021 0022 /// Virtual destructor. 0023 virtual ~AxesDefinition() { } 0024 0025 /// Clone on the heap. 0026 virtual unique_ptr<Projection> clone() const = 0; 0027 0028 /// @{ Axis accessors, in decreasing order of significance. 0029 /// The main axis. 0030 virtual const Vector3& axis1() const = 0; 0031 /// The 2nd most significant ("major") axis. 0032 virtual const Vector3& axis2() const = 0; 0033 /// The least significant ("minor") axis. 0034 virtual const Vector3& axis3() const = 0; 0035 /// @} 0036 0037 0038 /// Import to avoid warnings about overload-hiding 0039 using Projection::operator =; 0040 0041 }; 0042 0043 0044 } 0045 0046 #endif
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
![]() ![]() |