YAP
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Member Functions | Private Attributes | Friends | List of all members
HelicityAngles Class Reference

Calculates, stores and gives access to helicity angles. More...

#include <HelicityAngles.h>

Inheritance diagram for HelicityAngles:
StaticDataAccessor DataAccessor

Public Member Functions

 HelicityAngles (Model &m)
 
virtual void calculate (DataPoint &d, StatusManager &sm) const override
 
double phi (const DataPoint &d, const std::shared_ptr< ParticleCombination > &pc) const
 get azimuthal angle
 
std::shared_ptr
< RealCachedValue > & 
phi ()
 access azimuthal angle
 
const std::shared_ptr
< RealCachedValue > & 
phi () const
 access azimuthal angle (const)
 
double theta (const DataPoint &d, const std::shared_ptr< ParticleCombination > &pc) const
 get polar angle
 
std::shared_ptr
< RealCachedValue > & 
theta ()
 access polar angle
 
const std::shared_ptr
< RealCachedValue > & 
theta () const
 access polar angle (const)
 
- Public Member Functions inherited from StaticDataAccessor
 StaticDataAccessor (Model &m, const ParticleCombinationEqualTo &equal)
 
const Modelmodel () const override
 
- Public Member Functions inherited from DataAccessor
 DataAccessor (const ParticleCombinationEqualTo &equal)
 
const ParticleCombinationEqualTo & equal () const
 
int index () const
 
unsigned symmetrizationIndex (const std::shared_ptr< ParticleCombination > &c) const
 
const ParticleCombinationMap
< unsigned > & 
symmetrizationIndices () const
 
const unsigned nSymmetrizationIndices () const
 
void printParticleCombinations () const
 print ParticleCombination map
 
const CachedValueSet & CachedValues () const
 
const unsigned size () const
 
const bool requiresStorage () const
 
bool consistent () const
 Check consistency of object.
 

Protected Member Functions

virtual void addToStaticDataAccessors () override
 add to model's StaticDataAccessors_
 
void calculateAngles (DataPoint &d, const std::shared_ptr< ParticleCombination > &pc, const CoordinateSystem< double, 3 > &C, const FourMatrix< double > &boosts, StatusManager &sm) const
 recursive helicity-angle calculator that travels down decay trees for all channels
 
void addParticleCombination (std::shared_ptr< ParticleCombination > pc) override
 override to throw on adding non-two-body PC
 
- Protected Member Functions inherited from StaticDataAccessor
virtual void registerWithModel () override
 register with Model
 
StaticDataAccessorVector & staticDataAccessors ()
 access to the model's StaticDataAccessors_
 
- Protected Member Functions inherited from DataAccessor
void addCachedValue (std::shared_ptr< CachedValue > c)
 add CachedValue
 
virtual void pruneSymmetrizationIndices ()
 prune SymmetrizationIndices_ to only contain ParticleCombination's tracing back up the ISP
 
void setIndex (size_t i)
 set storage index used in DataPoint. Must be unique.
 

Private Attributes

std::shared_ptr< RealCachedValuePhi_
 Azimuthal angle.
 
std::shared_ptr< RealCachedValueTheta_
 Polar angle.
 

Friends

class Model
 grant friend status to Model to call addParticleCombination
 
class DataAccessor
 grant friend status to DataAccessor to call addParticleCombination
 

Additional Inherited Members

- Public Attributes inherited from DataAccessor
friend Model
 grant friend status to Model to access CachedValues_
 
friend CachedValue
 grant friend status to CachedValue to call addCachedValue
 

Detailed Description

Calculates, stores and gives access to helicity angles.

Author
Johannes Rauch, Daniel Greenwald

Angles are defined as follows:

  1. Given decaying particle with momentum $ \vec{p} $ in its parent frame and the $ z $ axis of its parent frame $ \hat{z}_0 $, define the reference frame:
    • $ \hat{z} \equiv \hat{p} $
    • $ \hat{y} \equiv \hat{z}_0 \times \hat{z} $
    • $ \hat{x} \equiv \hat{y} \times \hat{z} $
  2. Given daughter particle with momentum $ \vec{q} $ in the decaying particle's rest frame, the angles are
    • $ \cos\theta \equiv \hat{q} \cdot \hat{z} $
    • $ \cos\phi \equiv \hat{q} \cdot \hat{x} / \sin\theta $ If the decaying particle has 0 momentum or $ \hat{p} = \hat{z}_0 $

Constructor & Destructor Documentation

Constructor

Parameters
mowning Model

Member Function Documentation

void calculate ( DataPoint d,
StatusManager sm 
) const
overridevirtual

Calculate helicity angles for all possible symmetrization indices

Parameters
dDataPoint to calculate into
smStatusManager to update

Implements StaticDataAccessor.


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