ATLAS Offline Software
|
Class that controls the 2D integration. More...
#include <eflowCellIntegrator.h>
Public Member Functions | |
eflowCellIntegrator (double stdDev, double error) | |
eflowCellIntegrator (const eflowCellIntegrator &original) | |
eflowCellIntegrator & | operator= (const eflowCellIntegrator &original) |
~eflowCellIntegrator () | |
double | integrate (const eflowRange &etaRange, const eflowRange &phiRange) |
Main method, which starts the integration. More... | |
double | evaluate (double eta) |
Evaluate method for the outer (i.e. More... | |
Private Attributes | |
std::unique_ptr< eflowCellIntegrand<(Exp_t) expType > > | m_integrand2D |
eflowRecursiveGaussLegendreIntegrator< eflowCellIntegrator< expType > > | m_outerIntegrator |
eflowRecursiveGaussLegendreIntegrator< eflowCellIntegrand<(Exp_t) expType > > | m_innerIntegrator |
eflowRange | m_rangePhi |
Class that controls the 2D integration.
Holds two eflowRecursiveGaussLegendreIntegrators, one to perform the outer (i.e. eta) and one to perform the inner (i.e. phi) integration. The class itself acts as the integrand of the outer integration. Its evaluate method performs a full integral in phi at the given eta value. (This is how the 2D integration is achieved.) The integrand of the inner (i.e. phi) integration is an eflowCellIntegrand.
To evaluate the actual Gaussian, either std::exp or eflowLookupExp is used, depending on the value of the template parameter (see eflowCellIntegrand). Templates are used instead of polymorphism here due to the better CPU performance.
Definition at line 154 of file eflowCellIntegrator.h.
|
inline |
Definition at line 156 of file eflowCellIntegrator.h.
|
inline |
Definition at line 157 of file eflowCellIntegrator.h.
|
inline |
Definition at line 167 of file eflowCellIntegrator.h.
|
inline |
Evaluate method for the outer (i.e.
eta) integration (invoked by m_outerIntegrator)
Definition at line 178 of file eflowCellIntegrator.h.
|
inline |
|
inline |
Definition at line 161 of file eflowCellIntegrator.h.
|
private |
Definition at line 188 of file eflowCellIntegrator.h.
|
private |
Definition at line 186 of file eflowCellIntegrator.h.
|
private |
Definition at line 187 of file eflowCellIntegrator.h.
|
private |
Definition at line 189 of file eflowCellIntegrator.h.