Commit c19e7144 authored by snuverink_j's avatar snuverink_j
Browse files

Merge branch '482-file-header-for-opal-source-proposal' into 'master'

Resolve "File header for OPAL source proposal"

See merge request !308
parents 88686646 5109a1e0
//
// Source file of the Hamiltonian class,
// Constructs thick lens Hamiltonians up to arbitrary order.
//
// Copyright (c) 2018, Philippe Ganz, ETH Zürich
// All rights reserved
//
// OPAL is licensed under GNU GPL version 3.
#include "Hamiltonian.h"
Hamiltonian::Hamiltonian(int truncOrder) : truncOrder_m(truncOrder)
......
//
// Class: Hamiltonian
// Constructs thick lens Hamiltonian up to arbitrary order for beamline elements
//
// Copyright (c) 2018, Philippe Ganz, ETH Zürich
// All rights reserved
//
// Implemented as part of the Master thesis
// "s-based maps from TPS & Lie-Series applied to Proton-Therapy Gantries"
//
// This file is part of OPAL.
//
// OPAL is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// You should have received a copy of the GNU General Public License
// along with OPAL. If not, see <https://www.gnu.org/licenses/>.
//
#ifndef HAMILTONIAN_H
#define HAMILTONIAN_H
/*
* setHamiltonian.cpp
*
* Created on: Jul 24, 2018
* Author: ganz_p
*/
#include "Classic/FixedAlgebra/FTps.h"
#include "Classic/FixedAlgebra/FVps.h"
#include "Classic/FixedAlgebra/FTpsMath.h"
......@@ -15,7 +29,6 @@
#include <functional>
class Hamiltonian
{
......
//
// Source file of the MapAnalyser class, analyses linear maps from OPAL-map.
//
// Copyright (c) 2008-2020
// Paul Scherrer Institut, Villigen PSI, Switzerland
// All rights reserved.
// Copyright (c) 2018, Philippe Ganz, ETH Zürich
// All rights reserved
//
// OPAL is licensed under GNU GPL version 3.
......
//
// MapAnalyser class, analyses linear maps from OPAL-map.
// Class: MapAnalyser
// Organizes the function for a linear map analysis from
// ThickTracker.
// Transfer map -> tunes, symplecticity and stability
// Sigma Matrix -> (not projected) beam emittance
//
// This class is in an unfinished state.
// For some dicussion see https://gitlab.psi.ch/OPAL/src/issues/464
// Some cleanup was done in https://gitlab.psi.ch/OPAL/src/merge_requests/294
//
// Copyright (c) 2018, Philippe Ganz, ETH Zürich
// All rights reserved
//
// Implemented as part of the Master thesis
// "s-based maps from TPS & Lie-Series applied to Proton-Therapy Gantries"
//
// This file is part of OPAL.
//
// OPAL is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Copyright (c) 2008-2020
// Paul Scherrer Institut, Villigen PSI, Switzerland
// All rights reserved.
// You should have received a copy of the GNU General Public License
// along with OPAL. If not, see <https://www.gnu.org/licenses/>.
//
// OPAL is licensed under GNU GPL version 3.
#ifndef MAP_ANALYSER_H
#define MAP_ANALYSER_H
......@@ -17,21 +36,6 @@
#include <array>
#include <complex>
/*!
// ------------------------------------------------------------------------
//
// Class: MapAnalyser
// Organizes the function for a linear map analysis from
// ThickTracker.
// Transfer map -> tunes, symplecticity and stability
// Sigma Matrix -> (not projected) beam emittance
//
// ------------------------------------------------------------------------
//
// $Author: ganz $
//
// ------------------------------------------------------------------------
*/
class MapAnalyser
{
public:
......
// ------------------------------------------------------------------------
// Copyright: see Copyright.readme
// ------------------------------------------------------------------------
//
// Class: ThickTracker
// The visitor class for building a map of given order for a beamline
// using a finite-length lenses for all elements.
// Multipole-like elements are done by expanding the Lie series.
//
// ------------------------------------------------------------------------
// Source file of the ThickTracker class
// Tracks using thick-lens algorithm.
//
// $Author: ganz_p $
// Copyright (c) 2018, Philippe Ganz, ETH Zürich
// All rights reserved
//
// ------------------------------------------------------------------------
// OPAL is licensed under GNU GPL version 3.
#include <cfloat>
#include <fstream>
......
#ifndef OPAL_ThickTracker_HH
#define OPAL_ThickTracker_HH
// ------------------------------------------------------------------------
// Copyright: see Copyright.readme
// ------------------------------------------------------------------------
//
// Class: ThickTracker
//
// Tracks using thick-lens algorithm.
// ------------------------------------------------------------------------
//
// $Author: ganz_p $
// Copyright (c) 2018, Philippe Ganz, ETH Zürich
// All rights reserved
//
// ------------------------------------------------------------------------
// Implemented as part of the Master thesis
// "s-based maps from TPS & Lie-Series applied to Proton-Therapy Gantries"
//
// This file is part of OPAL.
//
// OPAL is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// You should have received a copy of the GNU General Public License
// along with OPAL. If not, see <https://www.gnu.org/licenses/>.
//
#ifndef OPAL_ThickTracker_HH
#define OPAL_ThickTracker_HH
#include "Algorithms/Tracker.h"
#include "Structure/DataSink.h"
......@@ -60,10 +70,6 @@ class BMultipoleField;
template <class T, unsigned Dim>
class PartBunchBase;
// Class ThickTracker
// ------------------------------------------------------------------------
/// Track using thick-lens algorithm.
// [p]
// Phase space coordinates numbering:
......
/**
* @file SigmaGenerator.h
* The SigmaGenerator class uses the class <b>ClosedOrbitFinder</b> to get the parameters (inverse bending radius, path length
* field index and tunes) to initialize the sigma matrix.
* The main function of this class is <b>match(value_type, size_type)</b>, where it iteratively tries to find a matched distribution for given
* emittances, energy and current. The computation stops when the L2-norm is smaller than a user-defined tolerance. \n
* In default mode it prints all space charge maps, cyclotron maps and second moment matrices. The orbit properties, i.e.
* tunes, average radius, orbit radius, inverse bending radius, path length, field index and frequency error, are printed
* as well.
*
* @author Matthias Frey, Cristopher Cortes
* @version 1.1
*/
//
// Class: SigmaGenerator.h
// The SigmaGenerator class uses the class <b>ClosedOrbitFinder</b> to get the parameters (inverse bending radius, path length
// field index and tunes) to initialize the sigma matrix.
// The main function of this class is <b>match(value_type, size_type)</b>, where it iteratively tries to find a matched distribution for given
// emittances, energy and current. The computation stops when the L2-norm is smaller than a user-defined tolerance. \n
// In default mode it prints all space charge maps, cyclotron maps and second moment matrices. The orbit properties, i.e.
// tunes, average radius, orbit radius, inverse bending radius, path length, field index and frequency error, are printed
// as well.
//
// Copyright (c) 2014, 2018, Matthias Frey, Cristopher Cortes, ETH Zürich
// All rights reserved
//
// Implemented as part of the Semester thesis by Matthias Frey
// "Matched Distributions in Cyclotrons"
//
// Some adaptations done as part of the Bachelor thesis by Cristopher Cortes
// "Limitations of a linear transfer map method for finding matched distributions in high intensity cyclotrons"
//
// This file is part of OPAL.
//
// OPAL is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// You should have received a copy of the GNU General Public License
// along with OPAL. If not, see <https://www.gnu.org/licenses/>.
//
#ifndef SIGMAGENERATOR_H
#define SIGMAGENERATOR_H
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment