AxesDefinition.hh
Go to the documentation of this file.
00001 // -*- C++ -*- 00002 #ifndef RIVET_AxesDefinition_HH 00003 #define RIVET_AxesDefinition_HH 00004 00005 #include "Rivet/Projection.hh" 00006 #include "Rivet/Event.hh" 00007 00008 namespace Rivet { 00009 00010 /** 00011 @brief Base class for projections which define a spatial basis. 00012 00013 A pure virtual interface for projections which define a set of 3 00014 basis vectors. This allows e.g. Thrust and Sphericity to be used 00015 interchangeably as defining bases for e.g. hemisphere mass and broadening 00016 calculations. 00017 00018 @author Andy Buckley 00019 */ 00020 class AxesDefinition : public Projection { 00021 public: 00022 00023 /// Virtual destructor. 00024 virtual ~AxesDefinition() { } 00025 00026 /// Clone on the heap. 00027 virtual const Projection* clone() const = 0; 00028 00029 ///@{ Axis accessors, in decreasing order of significance. 00030 /// The main axis. 00031 virtual const Vector3& axis1() const = 0; 00032 /// The 2nd most significant ("major") axis. 00033 virtual const Vector3& axis2() const = 0; 00034 /// The least significant ("minor") axis. 00035 virtual const Vector3& axis3() const = 0; 00036 ///@} 00037 00038 }; 00039 00040 } 00041 00042 #endif Generated on Thu Feb 6 2014 17:38:42 for The Rivet MC analysis system by ![]() |