siscone is hosted by Hepforge, IPPP Durham

The SISCone Jet Algorithm

Version 3.0.6



SISCone 3.0.6
siscone_spherical::CSph3vector Class Reference

base class for managing the spatial part of Cmomentum (defined after) More...

#include <momentum.h>

Inheritance diagram for siscone_spherical::CSph3vector:
Collaboration diagram for siscone_spherical::CSph3vector:

Public Member Functions

 CSph3vector ()
 default ctor More...
 
 CSph3vector (double _px, double _py, double _pz)
 ctor with initialisation More...
 
 ~CSph3vector ()
 default dtor More...
 
CSph3vectoroperator= (const CSph3vector &v)
 assignment of vectors More...
 
const CSph3vector operator+ (const CSph3vector &v)
 addition of vectors WARNING= norm is not updated More...
 
const CSph3vector operator- (const CSph3vector &v)
 subtraction of vectors WARNING= norm is not updated More...
 
const CSph3vector operator/ (const double &r)
 division by a constant WARNING= norm is not updated More...
 
CSph3vectoroperator+= (const CSph3vector &v)
 incrementation of vectors WARNING= norm is not updated More...
 
CSph3vectoroperator-= (const CSph3vector &v)
 decrementation of vectors WARNING= norm is not updated More...
 
CSph3vectoroperator*= (const double &r)
 multiplication by a constant WARNING= norm is not updated More...
 
CSph3vectoroperator/= (const double &r)
 division by a constant WARNING= norm is not updated More...
 
double perp () const
 computes pT More...
 
double perp2 () const
 computes pT^2 More...
 
double norm () const
 3-vect norm More...
 
double norm2 () const
 3-vect norm squared More...
 
double phi () const
 3-vect azimuthal angle More...
 
double theta () const
 3-vect polar angle More...
 
void build_norm ()
 build the spatial normfrom 4-momentum info !!! WARNING !!! !!! computing the norm is the only time-consuming !!! !!! information we need in all computations. More...
 
void build_thetaphi ()
 just a useful tool to store theta and phi locally (in _theta and _phi) in case you need repeated access More...
 
void get_angular_directions (CSph3vector &angular_dir1, CSph3vector &angular_dir2)
 for this direction, compute the two reference directions used to measure angles More...
 

Public Attributes

double px
 x-momentum More...
 
double py
 y-momentum More...
 
double pz
 z-momentum More...
 
double _norm
 particle spatial norm (available ONLY after a call to build_norm) More...
 
double _theta
 particle theta angle (available ONLY after a call to build_thetaphi) More...
 
double _phi
 particle phi angle (available ONLY after a call to build_thetaphi) More...
 
siscone::Creference ref
 reference number for the vector More...
 

Detailed Description

base class for managing the spatial part of Cmomentum (defined after)

This class contains the information for particle or group of particles management. It is adapted to use spherical geometry, where, for our purposes, the only time-consuming operation we need is the computation of the norm. To compute it once-and-for-all and store it in a local variable, you should call the 'build_norm' method. On top of that, the angle phi is computed from the x-axis and theta from the "north pole".

Definition at line 54 of file momentum.h.

Constructor & Destructor Documentation

◆ CSph3vector() [1/2]

siscone_spherical::CSph3vector::CSph3vector ( )

default ctor

Definition at line 43 of file momentum.cpp.

References _norm, _phi, _theta, px, py, pz, and ref.

Referenced by get_angular_directions().

◆ CSph3vector() [2/2]

siscone_spherical::CSph3vector::CSph3vector ( double  _px,
double  _py,
double  _pz 
)

ctor with initialisation

Definition at line 51 of file momentum.cpp.

References build_norm(), px, py, pz, and ref.

◆ ~CSph3vector()

siscone_spherical::CSph3vector::~CSph3vector ( )

default dtor

Definition at line 64 of file momentum.cpp.

Member Function Documentation

◆ build_norm()

void siscone_spherical::CSph3vector::build_norm ( )

build the spatial normfrom 4-momentum info !!! WARNING !!! !!! computing the norm is the only time-consuming !!! !!! information we need in all computations.

!!! !!! use this whenever you need repeated access !!! !!! to the norm to store it in the local variable !!!

Definition at line 148 of file momentum.cpp.

References _norm, and norm().

Referenced by siscone_spherical::CSphvicinity::append_to_vicinity(), and CSph3vector().

◆ build_thetaphi()

void siscone_spherical::CSph3vector::build_thetaphi ( )

just a useful tool to store theta and phi locally (in _theta and _phi) in case you need repeated access

Definition at line 153 of file momentum.cpp.

References _phi, _theta, phi(), and theta().

Referenced by siscone_spherical::CSphsplit_merge::add_hardest_protocone_to_jets(), siscone_spherical::CSphsplit_merge::add_protocones(), and siscone_spherical::CSphmomentum::CSphmomentum().

◆ get_angular_directions()

void siscone_spherical::CSph3vector::get_angular_directions ( CSph3vector angular_dir1,
CSph3vector angular_dir2 
)

for this direction, compute the two reference directions used to measure angles

Definition at line 161 of file momentum.cpp.

References CSph3vector(), px, py, and pz.

Referenced by siscone_spherical::CSphvicinity::build().

◆ norm()

double siscone_spherical::CSph3vector::norm ( ) const
inline

3-vect norm

Definition at line 103 of file momentum.h.

References px, py, and pz.

Referenced by build_norm().

◆ norm2()

double siscone_spherical::CSph3vector::norm2 ( ) const
inline

3-vect norm squared

Definition at line 106 of file momentum.h.

References px, py, and pz.

◆ operator*=()

CSph3vector & siscone_spherical::CSph3vector::operator*= ( const double &  r)

multiplication by a constant WARNING= norm is not updated

Definition at line 127 of file momentum.cpp.

References px, py, and pz.

◆ operator+()

const CSph3vector siscone_spherical::CSph3vector::operator+ ( const CSph3vector v)

addition of vectors WARNING= norm is not updated

Definition at line 86 of file momentum.cpp.

◆ operator+=()

CSph3vector & siscone_spherical::CSph3vector::operator+= ( const CSph3vector v)

incrementation of vectors WARNING= norm is not updated

Definition at line 107 of file momentum.cpp.

References px, py, and pz.

◆ operator-()

const CSph3vector siscone_spherical::CSph3vector::operator- ( const CSph3vector v)

subtraction of vectors WARNING= norm is not updated

Definition at line 93 of file momentum.cpp.

◆ operator-=()

CSph3vector & siscone_spherical::CSph3vector::operator-= ( const CSph3vector v)

decrementation of vectors WARNING= norm is not updated

Definition at line 117 of file momentum.cpp.

References px, py, and pz.

◆ operator/()

const CSph3vector siscone_spherical::CSph3vector::operator/ ( const double &  r)

division by a constant WARNING= norm is not updated

Definition at line 100 of file momentum.cpp.

◆ operator/=()

CSph3vector & siscone_spherical::CSph3vector::operator/= ( const double &  r)

division by a constant WARNING= norm is not updated

Definition at line 137 of file momentum.cpp.

References _norm, px, py, and pz.

◆ operator=()

CSph3vector & siscone_spherical::CSph3vector::operator= ( const CSph3vector v)

assignment of vectors

Definition at line 71 of file momentum.cpp.

References _norm, _phi, _theta, px, py, pz, and ref.

◆ perp()

double siscone_spherical::CSph3vector::perp ( ) const
inline

computes pT

Definition at line 97 of file momentum.h.

References perp2().

Referenced by theta().

◆ perp2()

double siscone_spherical::CSph3vector::perp2 ( ) const
inline

◆ phi()

double siscone_spherical::CSph3vector::phi ( ) const
inline

3-vect azimuthal angle

Definition at line 109 of file momentum.h.

References px, and py.

Referenced by build_thetaphi().

◆ theta()

double siscone_spherical::CSph3vector::theta ( ) const
inline

3-vect polar angle

Definition at line 112 of file momentum.h.

References perp(), and pz.

Referenced by build_thetaphi().

Member Data Documentation

◆ _norm

double siscone_spherical::CSph3vector::_norm

◆ _phi

◆ _theta

◆ px

◆ py

◆ pz

◆ ref


The documentation for this class was generated from the following files:

The SISCone project has been developed by Gavin Salam and Gregory Soyez
Documentation generated on Tue Jun 20 2023 18:08:37 for SISCone by  Doxygen 1.9.4