OPAL (Object Oriented Parallel Accelerator Library) 2022.1
OPAL
PartBinsCyc.h
Go to the documentation of this file.
1//
2// Class PartBinsCyc
3// Defines a structure to hold energy bins and their
4// associated data for multi-bunch tracking in cyclotrons
5//
6// Copyright (c) 2010, Jianjun Yang, Paul Scherrer Institut, Villigen PSI, Switzerland
7// Copyright (c) 2017-2020, Paul Scherrer Institut, Villigen PSI, Switzerland
8// All rights reserved
9//
10// Implemented as part of the PhD thesis
11// "Beam dynamics in high intensity cyclotrons including neighboring bunch effects"
12// and the paper
13// "Beam dynamics in high intensity cyclotrons including neighboring bunch effects:
14// Model, implementation, and application"
15// (https://journals.aps.org/prab/pdf/10.1103/PhysRevSTAB.13.064201)
16//
17// This file is part of OPAL.
18//
19// OPAL is free software: you can redistribute it and/or modify
20// it under the terms of the GNU General Public License as published by
21// the Free Software Foundation, either version 3 of the License, or
22// (at your option) any later version.
23//
24// You should have received a copy of the GNU General Public License
25// along with OPAL. If not, see <https://www.gnu.org/licenses/>.
26//
27#ifndef OPAL_BinsCyc_HH
28#define OPAL_BinsCyc_HH
29
30#include "Algorithms/PartBins.h"
31
32class PartBinsCyc: public PartBins {
33
34public:
35
36
38 PartBinsCyc(int bunches, int bins, size_t partInBin[]);
39 PartBinsCyc(int specifiedNumBins, int bins);
40
42 virtual int getNBins() {return bins_m; }
43
44 virtual bool weHaveBins() {
45 return ( nemittedBins_m > 0 );
46 }
47};
48
49#endif // OPAL_BinsCyc_HH
int nemittedBins_m
Definition: PartBins.h:157
int bins_m
Definition: PartBins.h:106
PartBinsCyc(int bunches, int bins, size_t partInBin[])
Definition: PartBinsCyc.cpp:35
virtual int getNBins()
Definition: PartBinsCyc.h:42
virtual bool weHaveBins()
Definition: PartBinsCyc.h:44