![]() |
ATLAS Offline Software
|
Classes | |
class | CaloSwCalibHitsShowerDepth |
Helper to calculate the shower depth as used in the calib hits SW cluster correction. More... | |
class | DDHelper |
struct | et_compare_larem_only |
Helper to compare two cells by Et. More... | |
class | SamplingHelper |
Sampling calculator helper class. More... | |
class | SamplingHelper_CaloCellList |
Version of helper class for cells taken from StoreGate. More... | |
class | SamplingHelper_Cluster |
Version of helper class for cells taken from the cluster itself. More... | |
class | Segmentation |
Functions | |
float | interpolate (const CaloRec::Array< 2 > &a, float x, unsigned int degree, unsigned int ycol=1, const CaloRec::Array< 1 > ®ions=CaloRec::Array< 1 >(), int n_points=-1, bool fixZero=false) |
Polynomial interpolation in a table. More... | |
void | etaphi_range (const CaloDetDescrManager &dd_man, double eta, double phi, CaloCell_ID::CaloSample sampling, double &deta, double &dphi) |
Return eta/phi ranges encompassing +- 1 cell. More... | |
void CaloClusterCorr::etaphi_range | ( | const CaloDetDescrManager & | dd_man, |
double | eta, | ||
double | phi, | ||
CaloCell_ID::CaloSample | sampling, | ||
double & | deta, | ||
double & | dphi | ||
) |
Return eta/phi ranges encompassing +- 1 cell.
eta | Central eta value. | |
phi | Central phi value. | |
sampling | The sampling to use. | |
[out] | deta | Range in eta. |
[out] | dphi | Range in phi. |
This can be a little tricky due to misalignments and the fact that cells have different sizes in different regions. Also, CaloLayerCalculator takes only a symmetric eta range. We try to find the neighboring cells by starting from the center cell and looking a little bit more than half its width in either direction, and finding the centers of those cells. Then we use the larger of these for the symmetric range.
Definition at line 64 of file CaloFillRectangularCluster.cxx.
float CaloClusterCorr::interpolate | ( | const CaloRec::Array< 2 > & | a, |
float | x, | ||
unsigned int | degree, | ||
unsigned int | ycol = 1 , |
||
const CaloRec::Array< 1 > & | regions = CaloRec::Array<1>() , |
||
int | n_points = -1 , |
||
bool | fixZero = false |
||
) |
Polynomial interpolation in a table.
a | Interpolation table. The x values are in the first column (column 0), and by default, the y values are in the second column (column 1). The x values must be in ascending order, with no duplicates. |
x | The value to interpolate. |
degree | The degree of the interpolating polynomial. |
ycol | The column number of the y values. (0-based.) |
regions | Sometimes, you want to divide the range being interpolated into several distinct regions, where the interpolated function may be discontinuous at the boundaries between regions. To do this, supply this argument, which should contain a list (in ascending order) of the x-coordinates of the region boundaries. When the interpolation runs against a boundary, the algorithm will add a copy of the last point before the boundary, positioned at the boundary. This helps to control runaway extrapolation leading up to the boundary. |
n_points | The number of interpolation points in the table to use. If -1, then the entire table is used. |
fixZero | If true, remove zeros among y-values by averaging adjacent points. |
The method used is Newtonian interpolation. Based on the cernlib routine divdif.
a | Interpolation table. The x values are in the first column (column 0), and by default, the y values are in the second column (column 1). |
x | The value to interpolate. |
degree | The degree of the interpolating polynomial. |
ycol | The column number of the y values. (0-based.) |
regions | Sometimes, you want to divide the range being interpolated into several distinct regions, where the interpolated function may be discontinuous at the boundaries between regions. To do this, supply this argument, which should contain a list (in ascending order) of the x-coordinates of the region boundaries. When the interpolation runs against a boundary, the algorithm will add a copy of the last point before the boundary, positioned at the boundary. This helps to control runaway extrapolation leading up to the boundary. |
n_points | The number of interpolation points in the table to use. If -1, then the entire table is used. |
fixZero | If true, remove zeros among y-values by averaging adjacent points. |
The method used is Newtonian interpolation. Based on the cernlib routine divdif.
Definition at line 75 of file interpolate.cxx.