Back to home page

Project CMSSW displayed by LXR

 
 

    


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