HerdSoftware  0.1.1
Public Member Functions | Private Member Functions | Private Attributes | List of all members
Herd::FitDigitizationTools::DistributionFiberTool Class Reference

#include <DistributionFiberTool.h>

Public Member Functions

 DistributionFiberTool ()
 
 ~DistributionFiberTool ()=default
 
std::vector< std::pair< Point, double > > effectivePathFracInCores (const Point &enPoint, const Point &exPoint, const FitGeoParams &geoParams) const
 
void setMatWidth (float matWidth)
 

Private Member Functions

double getFiberX (unsigned int iLayer, int iFiber) const
 
double getFiberZ (unsigned int iLayer) const
 
double firstFiber (unsigned int iLayer) const
 
double lastFiber (unsigned int iLayer) const
 
void initNFibers (unsigned int nFibers)
 
std::pair< int, int > getAdjacentFiberIds (double x, double dx_over_dz, unsigned int iLayer) const
 

Private Attributes

const double m_fibreCoreRadius = 0.011
 
const double m_fibrePitch = 0.0275
 
const double m_deltaZ = 0.021
 
int m_nlayers = 6
 
const double m_crossTalkProb = 0.193
 
const double m_CTmodelTouching = 0.163
 
const double m_CTmodelSide = 0.147
 
const double m_CTmodel2layers = 0.028
 
double m_minZ
 
unsigned int m_nFibers = 355
 
int m_firstFiber0
 
int m_firstFiber1
 
int m_lastFiber1
 

Constructor & Destructor Documentation

◆ DistributionFiberTool()

Herd::FitDigitizationTools::DistributionFiberTool::DistributionFiberTool ( )

◆ ~DistributionFiberTool()

Herd::FitDigitizationTools::DistributionFiberTool::~DistributionFiberTool ( )
default

Member Function Documentation

◆ effectivePathFracInCores()

std::vector< std::pair< Point, double > > Herd::FitDigitizationTools::DistributionFiberTool::effectivePathFracInCores ( const Point enPoint,
const Point exPoint,
const FitGeoParams geoParams 
) const

◆ firstFiber()

double Herd::FitDigitizationTools::DistributionFiberTool::firstFiber ( unsigned int  iLayer) const
inlineprivate

◆ getAdjacentFiberIds()

std::pair< int, int > Herd::FitDigitizationTools::DistributionFiberTool::getAdjacentFiberIds ( double  x,
double  dx_over_dz,
unsigned int  iLayer 
) const
private

Get the fibre index of the first and last fibre to consider, given the x position at the lower edge of the fibre layer's sensitive region

◆ getFiberX()

double Herd::FitDigitizationTools::DistributionFiberTool::getFiberX ( unsigned int  iLayer,
int  iFiber 
) const
inlineprivate

The fibre positions in the local coordinate system can be expressed using two indices: the layer index i and the fibre index j. The indices of the fibres j are defined such that in even-numbered fibre layers (i = 0, 2, 4, ...) the fibre with index j= 0 is at x = 0, while in odd-numbered layers (i= 1, 3, ...) the fibre with index j = 0 is at x = 0.5*fibre_pitch. Then, the fibre position can be expressed as: x_fib = j * fibre_pitch + (i%2)*fibre_pitch/2. = (j + (i%2)*0.5)*fibre_pitch z_fib = (i-nLayers/2)*m_deltaZ

◆ getFiberZ()

double Herd::FitDigitizationTools::DistributionFiberTool::getFiberZ ( unsigned int  iLayer) const
inlineprivate

◆ initNFibers()

void Herd::FitDigitizationTools::DistributionFiberTool::initNFibers ( unsigned int  nFibers)
private

◆ lastFiber()

double Herd::FitDigitizationTools::DistributionFiberTool::lastFiber ( unsigned int  iLayer) const
inlineprivate

◆ setMatWidth()

void Herd::FitDigitizationTools::DistributionFiberTool::setMatWidth ( float  matWidth)

Member Data Documentation

◆ m_crossTalkProb

const double Herd::FitDigitizationTools::DistributionFiberTool::m_crossTalkProb = 0.193
private

◆ m_CTmodel2layers

const double Herd::FitDigitizationTools::DistributionFiberTool::m_CTmodel2layers = 0.028
private

◆ m_CTmodelSide

const double Herd::FitDigitizationTools::DistributionFiberTool::m_CTmodelSide = 0.147
private

◆ m_CTmodelTouching

const double Herd::FitDigitizationTools::DistributionFiberTool::m_CTmodelTouching = 0.163
private

◆ m_deltaZ

const double Herd::FitDigitizationTools::DistributionFiberTool::m_deltaZ = 0.021
private

◆ m_fibreCoreRadius

const double Herd::FitDigitizationTools::DistributionFiberTool::m_fibreCoreRadius = 0.011
private

◆ m_fibrePitch

const double Herd::FitDigitizationTools::DistributionFiberTool::m_fibrePitch = 0.0275
private

◆ m_firstFiber0

int Herd::FitDigitizationTools::DistributionFiberTool::m_firstFiber0
private

◆ m_firstFiber1

int Herd::FitDigitizationTools::DistributionFiberTool::m_firstFiber1
private

◆ m_lastFiber1

int Herd::FitDigitizationTools::DistributionFiberTool::m_lastFiber1
private

◆ m_minZ

double Herd::FitDigitizationTools::DistributionFiberTool::m_minZ
private

◆ m_nFibers

unsigned int Herd::FitDigitizationTools::DistributionFiberTool::m_nFibers = 355
private

◆ m_nlayers

int Herd::FitDigitizationTools::DistributionFiberTool::m_nlayers = 6
private

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