ATTPCROOT  0.3.0-alpha
A ROOT-based framework for analyzing data from active target detectors
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
AtClusterize Class Reference

#include <AtClusterize.h>

Inheritance diagram for AtClusterize:
Inheritance graph
[legend]

Public Member Functions

std::vector< SimPointPtrProcessEvent (const TClonesArray &fMCPointArray)
 
virtual void GetParameters (const AtDigiPar *fPar)
 
virtual std::string GetSavedClassName () const
 
virtual void FillTClonesArray (TClonesArray &array, std::vector< SimPointPtr > &vec)
 
virtual std::shared_ptr< AtClusterizeClone () const
 

Protected Types

using XYZVector = ROOT::Math::XYZVector
 
using XYZPoint = ROOT::Math::XYZPoint
 
using SimPointPtr = std::unique_ptr< AtSimulatedPoint >
 

Protected Member Functions

virtual std::vector< SimPointPtrprocessPoint (AtMCPoint &mcPoint, int pointID=-1)
 
void setNewTrack ()
 
double getTransverseDiffusion (double driftTime)
 
double getLongitudinalDiffusion (double driftTime)
 
uint64_t getNumberOfElectronsGenerated (const AtMCPoint &mcPoint)
 
XYZPoint getCurrentPointLocation (const AtMCPoint &mcPoint)
 

Protected Attributes

double fEIonize {}
 Effective ionization energy of gas. [eV]. More...
 
double fFano {}
 Fano factor of the gas. More...
 
double fVelDrift {}
 Drift velocity of electron in gas. [cm/us]. More...
 
double fCoefT {}
 Transversal diffusion coefficient. [cm^2/us]. More...
 
double fCoefL {}
 Longitudinal diffusion coefficient. [cm^2/us]. More...
 
double fDetPadPlane {}
 Position of the pad plane with respect to the entrance [mm]. More...
 

Static Protected Attributes

static thread_local XYZPoint fPrevPoint
 The previous point we recorded charge. More...
 
static thread_local int fTrackID = 0
 The current track ID. More...
 

Detailed Description

Class to hold the clusterizing logic

Input is an array of AtMCPoints, output is an array of AtSimulatedPoints.

Definition at line 24 of file AtClusterize.h.

Member Typedef Documentation

◆ SimPointPtr

using AtClusterize::SimPointPtr = std::unique_ptr<AtSimulatedPoint>
protected

Definition at line 28 of file AtClusterize.h.

◆ XYZPoint

using AtClusterize::XYZPoint = ROOT::Math::XYZPoint
protected

Definition at line 27 of file AtClusterize.h.

◆ XYZVector

using AtClusterize::XYZVector = ROOT::Math::XYZVector
protected

Definition at line 26 of file AtClusterize.h.

Member Function Documentation

◆ Clone()

virtual std::shared_ptr<AtClusterize> AtClusterize::Clone ( ) const
inlinevirtual

Reimplemented in AtClusterizeLine.

Definition at line 45 of file AtClusterize.h.

◆ FillTClonesArray()

void AtClusterize::FillTClonesArray ( TClonesArray &  array,
std::vector< SimPointPtr > &  vec 
)
virtual

Reimplemented in AtClusterizeLine.

Definition at line 40 of file AtClusterize.cxx.

◆ getCurrentPointLocation()

AtClusterize::XYZPoint AtClusterize::getCurrentPointLocation ( const AtMCPoint mcPoint)
protected

Definition at line 122 of file AtClusterize.cxx.

◆ getLongitudinalDiffusion()

double AtClusterize::getLongitudinalDiffusion ( double  driftTime)
protected

Definition at line 101 of file AtClusterize.cxx.

◆ getNumberOfElectronsGenerated()

uint64_t AtClusterize::getNumberOfElectronsGenerated ( const AtMCPoint mcPoint)
protected

Definition at line 114 of file AtClusterize.cxx.

◆ GetParameters()

void AtClusterize::GetParameters ( const AtDigiPar fPar)
virtual

Reimplemented in AtClusterizeLine.

Definition at line 22 of file AtClusterize.cxx.

◆ GetSavedClassName()

virtual std::string AtClusterize::GetSavedClassName ( ) const
inlinevirtual

Reimplemented in AtClusterizeLine.

Definition at line 43 of file AtClusterize.h.

◆ getTransverseDiffusion()

double AtClusterize::getTransverseDiffusion ( double  driftTime)
protected

Definition at line 109 of file AtClusterize.cxx.

◆ ProcessEvent()

std::vector< AtClusterize::SimPointPtr > AtClusterize::ProcessEvent ( const TClonesArray &  fMCPointArray)

Definition at line 48 of file AtClusterize.cxx.

◆ processPoint()

std::vector< AtClusterize::SimPointPtr > AtClusterize::processPoint ( AtMCPoint mcPoint,
int  pointID = -1 
)
protectedvirtual

Reimplemented in AtClusterizeLine.

Definition at line 60 of file AtClusterize.cxx.

◆ setNewTrack()

void AtClusterize::setNewTrack ( )
protected

Member Data Documentation

◆ fCoefL

double AtClusterize::fCoefL {}
protected

Longitudinal diffusion coefficient. [cm^2/us].

Definition at line 34 of file AtClusterize.h.

◆ fCoefT

double AtClusterize::fCoefT {}
protected

Transversal diffusion coefficient. [cm^2/us].

Definition at line 33 of file AtClusterize.h.

◆ fDetPadPlane

double AtClusterize::fDetPadPlane {}
protected

Position of the pad plane with respect to the entrance [mm].

Definition at line 35 of file AtClusterize.h.

◆ fEIonize

double AtClusterize::fEIonize {}
protected

Effective ionization energy of gas. [eV].

Definition at line 30 of file AtClusterize.h.

◆ fFano

double AtClusterize::fFano {}
protected

Fano factor of the gas.

Definition at line 31 of file AtClusterize.h.

◆ fPrevPoint

thread_local AtClusterize::XYZPoint AtClusterize::fPrevPoint
staticprotected

The previous point we recorded charge.

Definition at line 37 of file AtClusterize.h.

◆ fTrackID

thread_local int AtClusterize::fTrackID = 0
staticprotected

The current track ID.

Definition at line 38 of file AtClusterize.h.

◆ fVelDrift

double AtClusterize::fVelDrift {}
protected

Drift velocity of electron in gas. [cm/us].

Definition at line 32 of file AtClusterize.h.


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