GGEMS  1.1
GPU GEant4-based Monte Carlo Simulations
GGEMSLogEnergyTable Class Reference

GGEMS class computing log table for cut convertion from length to energy. More...

#include "GGEMSLogEnergyTable.hh"

Collaboration diagram for GGEMSLogEnergyTable:
Collaboration graph

Public Member Functions

 GGEMSLogEnergyTable (GGfloat const &lowest_energy, GGfloat const &highest_energy, GGsize const &number_of_bins)
 GGEMSLogEnergyTable constructor. More...
 
 ~GGEMSLogEnergyTable (void)
 GGEMSLogEnergyTable destructor. More...
 
 GGEMSLogEnergyTable (GGEMSLogEnergyTable const &log_energy_table)=delete
 Avoid copy by reference. More...
 
GGEMSLogEnergyTableoperator= (GGEMSLogEnergyTable const &log_energy_table)=delete
 Avoid assignement by reference. More...
 
 GGEMSLogEnergyTable (GGEMSLogEnergyTable const &&log_energy_table)=delete
 Avoid copy by rvalue reference. More...
 
GGEMSLogEnergyTableoperator= (GGEMSLogEnergyTable const &&log_energy_table)=delete
 Avoid copy by rvalue reference. More...
 
void SetValue (GGsize const &index, GGfloat const &value)
 Set the data vector at index. More...
 
GGfloat GetEnergy (GGsize const &index) const
 get the energy at the bin index More...
 
GGfloat GetLossTableData (GGsize const &index) const
 get the loss table data value at the bin index More...
 
GGfloat GetLowEdgeEnergy (GGsize const &index) const
 get the energy at the bin index similar to GGEMSLogEnergyTable::GetEnergy More...
 
GGfloat GetLossTableValue (GGfloat const &energy) const
 get the interpolated loss table value More...
 

Private Member Functions

GGsize FindBinLocation (GGfloat const &energy) const
 get the bin where is the energy More...
 
GGsize FindBin (GGfloat const &energy, GGsize const &index) const
 get the bin where is the energy depending on a index More...
 

Private Attributes

GGfloat edge_min_
 
GGfloat edge_max_
 
GGsize number_of_nodes_
 
std::vector< GGfloatloss_table_data_
 
std::vector< GGfloatbins_
 
GGfloat bin_width_
 
GGfloat base_bin_
 

Detailed Description

GGEMS class computing log table for cut convertion from length to energy.

Definition at line 51 of file GGEMSLogEnergyTable.hh.

Constructor & Destructor Documentation

◆ GGEMSLogEnergyTable() [1/3]

GGEMSLogEnergyTable::GGEMSLogEnergyTable ( GGfloat const &  lowest_energy,
GGfloat const &  highest_energy,
GGsize const &  number_of_bins 
)

GGEMSLogEnergyTable constructor.

Parameters
lowest_energy- lowest energy in the loss table
highest_energy- highest energy in the loss table
number_of_bins- number of bins in the loss table

Definition at line 39 of file GGEMSLogEnergyTable.cc.

◆ ~GGEMSLogEnergyTable()

GGEMSLogEnergyTable::~GGEMSLogEnergyTable ( void  )

GGEMSLogEnergyTable destructor.

Definition at line 76 of file GGEMSLogEnergyTable.cc.

◆ GGEMSLogEnergyTable() [2/3]

GGEMSLogEnergyTable::GGEMSLogEnergyTable ( GGEMSLogEnergyTable const &  log_energy_table)
delete

Avoid copy by reference.

Parameters
log_energy_table- reference on the GGEMS log energy table

◆ GGEMSLogEnergyTable() [3/3]

GGEMSLogEnergyTable::GGEMSLogEnergyTable ( GGEMSLogEnergyTable const &&  log_energy_table)
delete

Avoid copy by rvalue reference.

Parameters
log_energy_table- rvalue reference on the GGEMS log energy table

Member Function Documentation

◆ FindBin()

GGsize GGEMSLogEnergyTable::FindBin ( GGfloat const &  energy,
GGsize const &  index 
) const
private

get the bin where is the energy depending on a index

Parameters
energy- energy of the bin
index- index of the bin
Returns
the bin where is the energy depending on a index

Definition at line 146 of file GGEMSLogEnergyTable.cc.

◆ FindBinLocation()

GGsize GGEMSLogEnergyTable::FindBinLocation ( GGfloat const &  energy) const
private

get the bin where is the energy

Parameters
energy- energy of the bin
Returns
the bin where is the energy

Definition at line 125 of file GGEMSLogEnergyTable.cc.

◆ GetEnergy()

GGfloat GGEMSLogEnergyTable::GetEnergy ( GGsize const &  index) const
inline

get the energy at the bin index

Parameters
index- index of the bin
Returns
energy at index

Definition at line 109 of file GGEMSLogEnergyTable.hh.

◆ GetLossTableData()

GGfloat GGEMSLogEnergyTable::GetLossTableData ( GGsize const &  index) const
inline

get the loss table data value at the bin index

Parameters
index- index of the bin
Returns
loss table data value at index

Definition at line 117 of file GGEMSLogEnergyTable.hh.

◆ GetLossTableValue()

GGfloat GGEMSLogEnergyTable::GetLossTableValue ( GGfloat const &  energy) const

get the interpolated loss table value

Parameters
energy- energy of the bin
Returns
the interpolated loss table value

Definition at line 96 of file GGEMSLogEnergyTable.cc.

◆ GetLowEdgeEnergy()

GGfloat GGEMSLogEnergyTable::GetLowEdgeEnergy ( GGsize const &  index) const
inline

get the energy at the bin index similar to GGEMSLogEnergyTable::GetEnergy

Parameters
index- index of the bin
Returns
energy at index

Definition at line 125 of file GGEMSLogEnergyTable.hh.

◆ operator=() [1/2]

GGEMSLogEnergyTable & GGEMSLogEnergyTable::operator= ( GGEMSLogEnergyTable const &&  log_energy_table)
delete

Avoid copy by rvalue reference.

Parameters
log_energy_table- rvalue reference on the GGEMS log energy table

◆ operator=() [2/2]

GGEMSLogEnergyTable & GGEMSLogEnergyTable::operator= ( GGEMSLogEnergyTable const &  log_energy_table)
delete

Avoid assignement by reference.

Parameters
log_energy_table- reference on the GGEMS log energy table

◆ SetValue()

void GGEMSLogEnergyTable::SetValue ( GGsize const &  index,
GGfloat const &  value 
)

Set the data vector at index.

Parameters
index- index of the bin
value- value to put in data vector

Definition at line 87 of file GGEMSLogEnergyTable.cc.

Member Data Documentation

◆ base_bin_

GGfloat GGEMSLogEnergyTable::base_bin_
private

Set this in constructor for performance

Definition at line 160 of file GGEMSLogEnergyTable.hh.

◆ bin_width_

GGfloat GGEMSLogEnergyTable::bin_width_
private

Bin width - useful only for fixed binning

Definition at line 159 of file GGEMSLogEnergyTable.hh.

◆ bins_

std::vector<GGfloat> GGEMSLogEnergyTable::bins_
private

Vector keeping energy

Definition at line 158 of file GGEMSLogEnergyTable.hh.

◆ edge_max_

GGfloat GGEMSLogEnergyTable::edge_max_
private

Energy of the last point

Definition at line 155 of file GGEMSLogEnergyTable.hh.

◆ edge_min_

GGfloat GGEMSLogEnergyTable::edge_min_
private

Energy of first point

Definition at line 154 of file GGEMSLogEnergyTable.hh.

◆ loss_table_data_

std::vector<GGfloat> GGEMSLogEnergyTable::loss_table_data_
private

Vector keeping the crossection/energyloss

Definition at line 157 of file GGEMSLogEnergyTable.hh.

◆ number_of_nodes_

GGsize GGEMSLogEnergyTable::number_of_nodes_
private

Number of the nodes

Definition at line 156 of file GGEMSLogEnergyTable.hh.


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