DAS  3.0
Das Analysis System
SW_Doughnut
+ Inheritance diagram for SW_Doughnut:
+ Collaboration diagram for SW_Doughnut:

Public Member Functions

 SW_Doughnut (const double radius_in, const double radius_out)
 
virtual SelectorWorkercopy ()
 
virtual bool pass (const PseudoJet &jet) const
 
virtual string description () const
 
virtual void get_rapidity_extent (double &rapmin, double &rapmax) const
 
virtual bool is_geometric () const
 
virtual bool has_finite_area () const
 
virtual bool has_known_area () const
 
virtual double known_area () const
 
- Public Member Functions inherited from SW_WithReference
 SW_WithReference ()
 
virtual bool takes_reference () const
 
virtual void set_reference (const PseudoJet &centre)
 
- Public Member Functions inherited from SelectorWorker
virtual ~SelectorWorker ()
 
virtual void terminator (std::vector< const PseudoJet * > &jets) const
 
virtual bool applies_jet_by_jet () const
 

Protected Attributes

double _radius_in2
 
double _radius_out2
 
- Protected Attributes inherited from SW_WithReference
PseudoJet _reference
 
bool _is_initialised
 

Constructor & Destructor Documentation

◆ SW_Doughnut()

SW_Doughnut ( const double  radius_in,
const double  radius_out 
)
inline
4814  : _radius_in2(radius_in*radius_in), _radius_out2(radius_out*radius_out) {}

Member Function Documentation

◆ copy()

virtual SelectorWorker* copy ( )
inlinevirtual

Reimplemented from SelectorWorker.

4815 { return new SW_Doughnut(*this);}

◆ description()

virtual string description ( ) const
inlinevirtual

Reimplemented from SelectorWorker.

4822  {
4823  ostringstream ostr;
4824  ostr << sqrt(_radius_in2) << " <= distance from the centre <= " << sqrt(_radius_out2);
4825  return ostr.str();
4826  }

◆ get_rapidity_extent()

virtual void get_rapidity_extent ( double &  rapmin,
double &  rapmax 
) const
inlinevirtual

Reimplemented from SelectorWorker.

4827  {
4828  if (! _is_initialised)
4829  throw Error("To use a SelectorDoughnut (or any selector that requires a reference), you first have to call set_reference(...)");
4830  rapmax = _reference.rap()+sqrt(_radius_out2);
4831  rapmin = _reference.rap()-sqrt(_radius_out2);
4832  }

◆ has_finite_area()

virtual bool has_finite_area ( ) const
inlinevirtual

regardless of the reference

Reimplemented from SelectorWorker.

◆ has_known_area()

virtual bool has_known_area ( ) const
inlinevirtual

the area is analytically known

Reimplemented from SelectorWorker.

◆ is_geometric()

virtual bool is_geometric ( ) const
inlinevirtual

implies a finite area

Reimplemented from SelectorWorker.

◆ known_area()

virtual double known_area ( ) const
inlinevirtual

Reimplemented from SelectorWorker.

4836  {
4837  return pi * (_radius_out2-_radius_in2);
4838  }

◆ pass()

virtual bool pass ( const PseudoJet jet) const
inlinevirtual

Implements SelectorWorker.

4816  {
4817  if (! _is_initialised)
4818  throw Error("To use a SelectorDoughnut (or any selector that requires a reference), you first have to call set_reference(...)");
4819  double distance2 = jet.squared_distance(_reference);
4820  return (distance2 <= _radius_out2) && (distance2 >= _radius_in2);
4821  }

Member Data Documentation

◆ _radius_in2

double _radius_in2
protected

◆ _radius_out2

double _radius_out2
protected

The documentation for this class was generated from the following file:
pi
FJCORE_BEGIN_NAMESPACE const double pi
Definition: fjcore.hh:191
PseudoJet::rap
double rap() const
Definition: fjcore.hh:557
SW_Doughnut::_radius_in2
double _radius_in2
Definition: fjcore.cc:4840
PseudoJet::squared_distance
double squared_distance(const PseudoJet &other) const
Definition: fjcore.hh:588
SW_WithReference::_reference
PseudoJet _reference
Definition: fjcore.cc:4776
SW_Doughnut::SW_Doughnut
SW_Doughnut(const double radius_in, const double radius_out)
Definition: fjcore.cc:4813
Error
Definition: fjcore.hh:462
SW_Doughnut::_radius_out2
double _radius_out2
Definition: fjcore.cc:4840
SW_WithReference::_is_initialised
bool _is_initialised
Definition: fjcore.cc:4777