File indexing completed on 2024-04-06 12:25:40
0001 #ifndef RecoLocalCalo_EcalRecAlgos_EigenMatrixTypes_h
0002 #define RecoLocalCalo_EcalRecAlgos_EigenMatrixTypes_h
0003
0004 #include <Eigen/Dense>
0005 #include <array>
0006
0007 constexpr int SampleVectorSize = 10;
0008 constexpr int FullSampleVectorSize = 19;
0009 constexpr int PulseVectorSize = 12;
0010 constexpr int NGains = 3;
0011
0012 typedef Eigen::Matrix<double, SampleVectorSize, 1> SampleVector;
0013 typedef Eigen::Matrix<double, FullSampleVectorSize, 1> FullSampleVector;
0014 typedef Eigen::Matrix<double, Eigen::Dynamic, 1, 0, PulseVectorSize, 1> PulseVector;
0015 typedef Eigen::Matrix<char, Eigen::Dynamic, 1, 0, PulseVectorSize, 1> BXVector;
0016 typedef Eigen::Matrix<char, SampleVectorSize, 1> SampleGainVector;
0017 typedef Eigen::Matrix<double, SampleVectorSize, SampleVectorSize> SampleMatrix;
0018 typedef Eigen::Matrix<double, FullSampleVectorSize, FullSampleVectorSize> FullSampleMatrix;
0019 typedef Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic, 0, PulseVectorSize, PulseVectorSize> PulseMatrix;
0020 typedef Eigen::Matrix<double, SampleVectorSize, Eigen::Dynamic, 0, SampleVectorSize, PulseVectorSize> SamplePulseMatrix;
0021 typedef Eigen::LLT<SampleMatrix> SampleDecompLLT;
0022 typedef Eigen::LLT<PulseMatrix> PulseDecompLLT;
0023 typedef Eigen::LDLT<PulseMatrix> PulseDecompLDLT;
0024
0025 typedef Eigen::Matrix<double, 1, 1> SingleMatrix;
0026 typedef Eigen::Matrix<double, 1, 1> SingleVector;
0027
0028 typedef std::array<SampleMatrix, NGains> SampleMatrixGainArray;
0029
0030 #endif