PandaRoot
BSEmcPositionAlgo Class Reference

Helper class to calculate the cluster position. More...

#include <BSEmcPositionAlgo.h>

Public Member Functions

 BSEmcPositionAlgo ()
 
virtual ~BSEmcPositionAlgo ()
 
void SetClusterPropertiesPar (const BSEmcClusterPropertiesPar *t_par)
 
void SetPositionPar (const BSEmcCrystalPositionPar *t_position)
 
virtual TVector3 CalculatePosition (const BSEmcCluster *t_cluster, const std::vector< const BSEmcDigi *> &t_digiArray) const
 
TVector3 CalculateLinearPosition (const BSEmcCluster *t_cluster, const std::vector< const BSEmcDigi *> &t_digiArray) const
 
TVector3 CalculateGravPosition (const BSEmcCluster *t_cluster, const std::vector< const BSEmcDigi *> &t_digiArray) const
 
TVector3 CalculateLiLoPosition (const BSEmcCluster *t_cluster, const std::vector< const BSEmcDigi *> &t_digiArray) const
 

Protected Member Functions

BSEmcCrystalPositionData GetClusterCrystal (const BSEmcCluster *t_cluster, Double_t t_theta, Double_t t_phi) const
 

Detailed Description

Helper class to calculate the cluster position.

Offers three different position calculation methods

  1. LiLo Linear/Logarithmic weighting of each cluster crystal by its energy
  2. Grav linear weighted position sum divided by the cluster energy
  3. Linear Crystal energy divided by cluster energy as weight of crystal position

CalculatePosition will choose one of the 3 methods, depending on BSEmcClusteringPar::GetEmcClusterPosMethod()

Author
Xiaorong Shi Lawrence Livermore National Lab
Steve Playfer University of Edinburgh
Stephen Gowdy University of Edinburgh
Ben Salisbury salis.nosp@m.bury.nosp@m.@hisk.nosp@m.p.un.nosp@m.i-bon.nosp@m.n.de, HISKP Bonn
Date
2021-02

Definition at line 38 of file BSEmcPositionAlgo.h.

Constructor & Destructor Documentation

◆ BSEmcPositionAlgo()

BSEmcPositionAlgo::BSEmcPositionAlgo ( )

◆ ~BSEmcPositionAlgo()

virtual BSEmcPositionAlgo::~BSEmcPositionAlgo ( )
virtual

Member Function Documentation

◆ CalculateGravPosition()

TVector3 BSEmcPositionAlgo::CalculateGravPosition ( const BSEmcCluster t_cluster,
const std::vector< const BSEmcDigi *> &  t_digiArray 
) const

Referenced by SetPositionPar().

◆ CalculateLiLoPosition()

TVector3 BSEmcPositionAlgo::CalculateLiLoPosition ( const BSEmcCluster t_cluster,
const std::vector< const BSEmcDigi *> &  t_digiArray 
) const

Referenced by SetPositionPar().

◆ CalculateLinearPosition()

TVector3 BSEmcPositionAlgo::CalculateLinearPosition ( const BSEmcCluster t_cluster,
const std::vector< const BSEmcDigi *> &  t_digiArray 
) const

Referenced by SetPositionPar().

◆ CalculatePosition()

virtual TVector3 BSEmcPositionAlgo::CalculatePosition ( const BSEmcCluster t_cluster,
const std::vector< const BSEmcDigi *> &  t_digiArray 
) const
virtual

Referenced by SetPositionPar().

◆ GetClusterCrystal()

BSEmcCrystalPositionData BSEmcPositionAlgo::GetClusterCrystal ( const BSEmcCluster t_cluster,
Double_t  t_theta,
Double_t  t_phi 
) const
protected

Referenced by SetPositionPar().

◆ SetClusterPropertiesPar()

void BSEmcPositionAlgo::SetClusterPropertiesPar ( const BSEmcClusterPropertiesPar t_par)

◆ SetPositionPar()

void BSEmcPositionAlgo::SetPositionPar ( const BSEmcCrystalPositionPar t_position)
inline

Definition at line 44 of file BSEmcPositionAlgo.h.

References CalculateGravPosition(), CalculateLiLoPosition(), CalculateLinearPosition(), CalculatePosition(), and GetClusterCrystal().

44 { fPositionPar = t_position; }

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