10#ifndef IMPACTX_DISTRIBUTION_COVARIANCE_MATRIX_H
11#define IMPACTX_DISTRIBUTION_COVARIANCE_MATRIX_H
41 for (
int i = 0; i < 3; ++i) {
42 Omega(2*i+1, 2*i+2) = 1;
43 Omega(2*i+2, 2*i+1) = -1;
amrex_particle_real ParticleReal
Definition CovarianceMatrixMath.H:25
amrex::SmallMatrix< amrex::ParticleReal, 6, 6, amrex::Order::F, 1 > Map6x6
Definition CovarianceMatrix.H:20
Map6x6 symplectic_form()
Definition CovarianceMatrix.H:38
Map6x6 CovarianceMatrix
Definition CovarianceMatrix.H:23
static constexpr __host__ __device__ SmallMatrix< T, NRows, NCols, ORDER, StartIndex > Zero() noexcept
Definition CovarianceMatrix.H:53
amrex::ParticleReal m_beam_intensity
optional: charge in A (for 3D space charge) or current in A (for 2D space charge)
Definition CovarianceMatrix.H:55
amrex::ParticleReal beam_intensity() const
Definition CovarianceMatrix.H:84
CovarianceMatrix m_env
the 6x6 beam covariance matrix
Definition CovarianceMatrix.H:54
Envelope & set_beam_intensity(amrex::ParticleReal const intensity)
Definition CovarianceMatrix.H:72
Envelope & set_covariance_matrix(CovarianceMatrix const &covariance_matrix)
Definition CovarianceMatrix.H:94
Envelope(CovarianceMatrix const &env, amrex::ParticleReal const beam_intensity)
Definition CovarianceMatrix.H:59
CovarianceMatrix covariance_matrix() const
Definition CovarianceMatrix.H:104