ImpactX
Toggle main menu visibility
Loading...
Searching...
No Matches
src
diagnostics
LinearMap.H
Go to the documentation of this file.
1
/* Copyright 2026 The Regents of the University of California, through Lawrence
2
* Berkeley National Laboratory (subject to receipt of any required
3
* approvals from the U.S. Dept. of Energy). All rights reserved.
4
*
5
* This file is part of ImpactX.
6
*
7
* Authors: Axel Huebl
8
* License: BSD-3-Clause-LBNL
9
*/
10
#ifndef IMPACTX_DIAGNOSTICS_LINEAR_MAP_H
11
#define IMPACTX_DIAGNOSTICS_LINEAR_MAP_H
12
13
#include "
elements/All.H
"
14
#include "
particles/CovarianceMatrix.H
"
15
#include "
particles/ReferenceParticle.H
"
16
17
#include <list>
18
#include <string>
19
#include <vector>
20
21
22
namespace
impactx::diagnostics
23
{
38
enum class
OnMissingLinearMap
39
{
40
IdentityWithWarning
,
41
IdentitySilent
,
42
Throw
43
};
44
60
struct
MapTraceEntry
61
{
62
amrex::ParticleReal
s
;
63
std::string
element_name
;
64
std::string
element_type
;
65
Map6x6
M_cumulative
;
66
};
67
106
std::vector<MapTraceEntry>
107
map_trace
(
108
std::list<elements::KnownElements>
const
& lattice,
109
RefPart
const
& ref_part_init,
110
OnMissingLinearMap
on_missing =
OnMissingLinearMap::IdentityWithWarning
111
);
112
131
Map6x6
132
linear_map
(
133
std::list<elements::KnownElements>
const
& lattice,
134
RefPart
const
& ref_part_init,
135
OnMissingLinearMap
on_missing =
OnMissingLinearMap::IdentityWithWarning
136
);
137
138
}
// namespace impactx::diagnostics
139
140
#endif
// IMPACTX_DIAGNOSTICS_LINEAR_MAP_H
CovarianceMatrix.H
ReferenceParticle.H
All.H
amrex::ParticleReal
amrex_particle_real ParticleReal
impactx::diagnostics
Definition
CovarianceMatrixMath.H:25
impactx::diagnostics::OnMissingLinearMap
OnMissingLinearMap
Definition
LinearMap.H:39
impactx::diagnostics::OnMissingLinearMap::Throw
@ Throw
re-raise as std::runtime_error naming the offending element
Definition
LinearMap.H:42
impactx::diagnostics::OnMissingLinearMap::IdentityWithWarning
@ IdentityWithWarning
substitute the identity map, record one warning per element type
Definition
LinearMap.H:40
impactx::diagnostics::OnMissingLinearMap::IdentitySilent
@ IdentitySilent
substitute the identity map without emitting a warning
Definition
LinearMap.H:41
impactx::diagnostics::linear_map
Map6x6 linear_map(std::list< elements::KnownElements > const &lattice, RefPart const &ref_part_init, OnMissingLinearMap on_missing)
Definition
LinearMap.cpp:233
impactx::diagnostics::map_trace
std::vector< MapTraceEntry > map_trace(std::list< elements::KnownElements > const &lattice, RefPart const &ref_part_init, OnMissingLinearMap on_missing)
Definition
LinearMap.cpp:194
impactx::Map6x6
amrex::SmallMatrix< amrex::ParticleReal, 6, 6, amrex::Order::F, 1 > Map6x6
Definition
CovarianceMatrix.H:20
impactx::RefPart
Definition
ReferenceParticle.H:33
impactx::diagnostics::MapTraceEntry
Definition
LinearMap.H:61
impactx::diagnostics::MapTraceEntry::element_type
std::string element_type
element type string (e.g. "Drift", "Quad", "Sbend")
Definition
LinearMap.H:64
impactx::diagnostics::MapTraceEntry::M_cumulative
Map6x6 M_cumulative
cumulative 6x6 linear transport map from the start up to the exit of this element
Definition
LinearMap.H:65
impactx::diagnostics::MapTraceEntry::s
amrex::ParticleReal s
integrated path length along the reference orbit, in meters
Definition
LinearMap.H:62
impactx::diagnostics::MapTraceEntry::element_name
std::string element_name
user-supplied element name; empty if the element was not named
Definition
LinearMap.H:63
Generated by
1.17.0