|
ATLAS Offline Software
|
Go to the documentation of this file.
13 inline double square(
double a) {
return a*
a; }
27 double sinLocalAngle)
const
30 if (is_endcap && newCov.rows() > 1) {
31 double Sn = sinLocalAngle;
32 double Sn2 = square(Sn);
33 double Cs2 = (1.-Sn)*(1.+Sn);
34 double SC = Sn*sqrt(Cs2);
37 double dV0 = (Cs2*newCov(0,0)+Sn2*newCov(1,1)
38 +2.*
SC*newCov(1,0))*(square(
a)-1.) + square(
b);
39 newCov(0,0)+= (Cs2*dV0);
40 newCov(1,0)+= (
SC *dV0);
41 newCov(0,1) = newCov(1,0);
42 newCov(1,1)+= (Sn2*dV0);
46 newCov(0,0) *= square(
a);
47 newCov(0,0) += square(
b);
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
std::vector< Identifier > ID
virtual bool postProcess() override final
virtual CLID clid() const override final
Default, invalid implementation of ClassID_traits.
const float SC[NC]
Cross sections for Carbon.
uint32_t CLID
The Class ID type.
static const char *const s_names[kNParamTypes]
Amg::MatrixX getScaledCovariance(Amg::MatrixX &&cov_input, bool is_endcap, double sinLocalAngle) const
void checkParameters(const char *label, unsigned int n_paramter_sets, const char *const *param_names, unsigned int n_paramters) const
Convenience function to check whether the number of parameters is correct.
std::vector< std::vector< double > > & params()