OPAL (Object Oriented Parallel Accelerator Library)
2.2.0
OPAL
|
Interface for a Cyclotron. More...
#include <Cyclotron.h>
Public Member Functions | |
Cyclotron (const std::string &name) | |
Constructor with given name. More... | |
Cyclotron () | |
Cyclotron (const Cyclotron &) | |
virtual | ~Cyclotron () |
virtual void | accept (BeamlineVisitor &) const |
Apply visitor to Cyclotron. More... | |
virtual double | getSlices () const =0 |
Get number of slices. More... | |
virtual double | getStepsize () const =0 |
Get stepsize. More... | |
void | setFieldMapFN (std::string fmapfn) |
virtual std::string | getFieldMapFN () const |
void | setRfFieldMapFN (std::vector< std::string > rffmapfn) |
void | setRFFCoeffFN (std::vector< std::string > rff_coeff_fn) |
void | setRFVCoeffFN (std::vector< std::string > rfv_coeff_fn) |
int | getFieldFlag (const std::string &type) const |
void | setType (std::string t) |
const std::string & | getCyclotronType () const |
virtual ElementBase::ElementType | getType () const |
Get element type std::string. More... | |
virtual void | getDimensions (double &zBegin, double &zEnd) const |
unsigned int | getNumberOfTrimcoils () const |
void | setCyclHarm (double h) |
virtual double | getCyclHarm () const |
void | setRfPhi (std::vector< double > f) |
void | setRfFrequ (std::vector< double > f) |
double | getRfFrequ () const |
void | setSymmetry (double symmetry) |
virtual double | getSymmetry () const |
void | setRinit (double rinit) |
virtual double | getRinit () const |
void | setPRinit (double prinit) |
virtual double | getPRinit () const |
void | setPHIinit (double phiinit) |
virtual double | getPHIinit () const |
void | setZinit (double zinit) |
virtual double | getZinit () const |
void | setPZinit (double zinit) |
virtual double | getPZinit () const |
void | setBScale (double bs) |
virtual double | getBScale () const |
void | setEScale (std::vector< double > bs) |
void | setTrimCoils (const std::vector< TrimCoil * > &trimcoils) |
void | setSuperpose (std::vector< bool > flag) |
void | setMinR (double r) |
virtual double | getMinR () const |
void | setMaxR (double r) |
virtual double | getMaxR () const |
void | setMinZ (double z) |
virtual double | getMinZ () const |
void | setMaxZ (double z) |
virtual double | getMaxZ () const |
void | setFMLowE (double e) |
virtual double | getFMLowE () const |
void | setFMHighE (double e) |
virtual double | getFMHighE () const |
void | setTrimCoilThreshold (double) |
virtual double | getTrimCoilThreshold () const |
void | setSpiralFlag (bool spiral_flag) |
virtual bool | getSpiralFlag () const |
virtual bool | apply (const size_t &id, const double &t, Vector_t &E, Vector_t &B) |
virtual bool | apply (const Vector_t &R, const Vector_t &P, const double &t, Vector_t &E, Vector_t &B) |
virtual void | apply (const double &rad, const double &z, const double &tet_rad, double &br, double &bt, double &bz) |
virtual void | initialise (PartBunchBase< double, 3 > *bunch, double &startField, double &endField) |
virtual void | initialise (PartBunchBase< double, 3 > *bunch, const int &fieldflag, const double &scaleFactor) |
virtual void | finalise () |
virtual bool | bends () const |
virtual double | getRmax () const |
virtual double | getRmin () const |
bool | interpolate (const double &rad, const double &tet_rad, double &br, double &bt, double &bz) |
void | read (const int &fieldflag, const double &scaleFactor) |
![]() | |
Component (const std::string &name) | |
Constructor with given name. More... | |
Component () | |
Component (const Component &right) | |
virtual | ~Component () |
virtual EMField & | getField ()=0 |
Return field. More... | |
virtual const EMField & | getField () const =0 |
Return field. More... | |
EVector | Efield (const Point3D &P) const |
Return the field in a point. More... | |
BVector | Bfield (const Point3D &P) const |
Return the field in a point. More... | |
EVector | Efield (const Point3D &P, double t) const |
Return the field in a point. More... | |
BVector | Bfield (const Point3D &P, double t) const |
Return the field in a point. More... | |
EBVectors | EBfield (const Point3D &P) const |
Return the field in a point. More... | |
EBVectors | EBfield (const Point3D &P, double t) const |
Return the field in a point. More... | |
virtual void | addKR (int i, double t, Vector_t &K) |
virtual void | addKT (int i, double t, Vector_t &K) |
virtual bool | applyToReferenceParticle (const Vector_t &R, const Vector_t &P, const double &t, Vector_t &E, Vector_t &B) |
virtual bool | getPotential (const Vector_t &R, const double &t, Vector_t &A, double &phi) |
virtual double | getDesignEnergy () const |
virtual void | setDesignEnergy (const double &energy, bool changeable) |
virtual void | goOnline (const double &kineticEnergy) |
virtual void | goOffline () |
virtual bool | Online () |
virtual void | setComponentType (std::string) |
virtual std::string | getComponentType () const |
virtual const ElementBase & | getDesign () const |
Return design element. More... | |
virtual void | trackBunch (PartBunchBase< double, 3 > *bunch, const PartData &, bool revBeam, bool revTrack) const |
Track particle bunch. More... | |
virtual void | trackMap (FVps< double, 6 > &map, const PartData &, bool revBeam, bool revTrack) const |
Track a map. More... | |
void | setExitFaceSlope (const double &) |
![]() | |
ElementBase (const std::string &name) | |
Constructor with given name. More... | |
ElementBase () | |
ElementBase (const ElementBase &) | |
virtual | ~ElementBase () |
virtual const std::string & | getName () const |
Get element name. More... | |
virtual void | setName (const std::string &name) |
Set element name. More... | |
std::string | getTypeString () const |
virtual BGeometryBase & | getGeometry ()=0 |
Get geometry. More... | |
virtual const BGeometryBase & | getGeometry () const =0 |
Get geometry. More... | |
virtual double | getArcLength () const |
Get arc length. More... | |
virtual double | getElementLength () const |
Get design length. More... | |
virtual void | setElementLength (double length) |
Set design length. More... | |
virtual void | getElementDimensions (double &begin, double &end) const |
virtual double | getOrigin () const |
Get origin position. More... | |
virtual double | getEntrance () const |
Get entrance position. More... | |
virtual double | getExit () const |
Get exit position. More... | |
virtual Euclid3D | getTransform (double fromS, double toS) const |
Get transform. More... | |
virtual Euclid3D | getTransform (double s) const |
Get transform. More... | |
virtual Euclid3D | getTotalTransform () const |
Get transform. More... | |
virtual Euclid3D | getEntranceFrame () const |
Get transform. More... | |
virtual Euclid3D | getExitFrame () const |
Get transform. More... | |
virtual Euclid3D | getEntrancePatch () const |
Get patch. More... | |
virtual Euclid3D | getExitPatch () const |
Get patch. More... | |
virtual double | getAttribute (const std::string &aKey) const |
Get attribute value. More... | |
virtual bool | hasAttribute (const std::string &aKey) const |
Test for existence of an attribute. More... | |
virtual void | removeAttribute (const std::string &aKey) |
Remove an existing attribute. More... | |
virtual void | setAttribute (const std::string &aKey, double val) |
Set value of an attribute. More... | |
virtual Channel * | getChannel (const std::string &aKey, bool create=false) |
Construct a read/write channel. More... | |
virtual const ConstChannel * | getConstChannel (const std::string &aKey) const |
Construct a read-only channel. More... | |
virtual ElementImage * | getImage () const |
Construct an image. More... | |
virtual ElementBase * | clone () const =0 |
Return clone. More... | |
virtual ElementBase * | copyStructure () |
Make a structural copy. More... | |
bool | isSharable () const |
Test if the element can be shared. More... | |
virtual void | makeSharable () |
Set sharable flag. More... | |
virtual ElementBase * | makeAlignWrapper () |
Allow misalignment. More... | |
virtual ElementBase * | makeFieldWrapper () |
Allow field errors. More... | |
virtual ElementBase * | makeWrappers () |
Allow errors. More... | |
virtual ElementBase * | removeAlignWrapper () |
Remove align wrapper. More... | |
virtual const ElementBase * | removeAlignWrapper () const |
Remove align wrapper. More... | |
virtual ElementBase * | removeFieldWrapper () |
Remove field wrapper. More... | |
virtual const ElementBase * | removeFieldWrapper () const |
Remove field wrapper. More... | |
virtual ElementBase * | removeWrappers () |
Return the design element. More... | |
virtual const ElementBase * | removeWrappers () const |
Return the design element. More... | |
bool | update (const AttributeSet &) |
Update element. More... | |
virtual void | setBoundaryGeometry (BoundaryGeometry *geo) |
virtual BoundaryGeometry * | getBoundaryGeometry () const |
return the attached boundary geometrt object if there is any More... | |
virtual bool | hasBoundaryGeometry () const |
virtual void | setWake (WakeFunction *wf) |
attach a wake field to the element More... | |
virtual WakeFunction * | getWake () const |
return the attached wake object if there is any More... | |
virtual bool | hasWake () const |
virtual void | setParticleMatterInteraction (ParticleMatterInteractionHandler *spys) |
virtual ParticleMatterInteractionHandler * | getParticleMatterInteraction () const |
virtual bool | hasParticleMatterInteraction () const |
ElemType | getElType () const |
returns element type as enumeration needed in the envelope tracker More... | |
void | setElType (ElemType elt) |
set the element type as enumeration needed in the envelope tracker More... | |
void | setCSTrafoGlobal2Local (const CoordinateSystemTrafo &ori) |
CoordinateSystemTrafo | getCSTrafoGlobal2Local () const |
void | releasePosition () |
void | fixPosition () |
bool | isPositioned () const |
virtual CoordinateSystemTrafo | getEdgeToBegin () const |
virtual CoordinateSystemTrafo | getEdgeToEnd () const |
void | setAperture (const ApertureType &type, const std::vector< double > &args) |
std::pair < ElementBase::ApertureType, std::vector< double > > | getAperture () const |
virtual bool | isInside (const Vector_t &r) const |
void | setMisalignment (double x, double y, double s) |
void | setMisalignment (const CoordinateSystemTrafo &cst) |
void | getMisalignment (double &x, double &y, double &s) const |
CoordinateSystemTrafo | getMisalignment () const |
void | setActionRange (const std::queue< std::pair< double, double > > &range) |
void | setCurrentSCoordinate (double s) |
void | setRotationAboutZ (double rotation) |
Set rotation about z axis in bend frame. More... | |
double | getRotationAboutZ () const |
void | setElementPosition (double elemedge) |
Access to ELEMEDGE attribute. More... | |
double | getElementPosition () const |
bool | isElementPositionSet () const |
![]() | |
int | addReference () const |
Increment reference count. More... | |
int | removeReference () const |
Decrement the reference count. More... | |
bool | isShared () const |
Test for sharing. More... | |
Protected Member Functions | |
void | getdiffs () |
double | gutdf5d (double *f, double dx, const int kor, const int krl, const int lpr) |
void | initR (double rmin, double dr, int nrad) |
void | getFieldFromFile (const double &scaleFactor) |
void | getFieldFromFile_Carbon (const double &scaleFactor) |
void | getFieldFromFile_CYCIAE (const double &scaleFactor) |
void | getFieldFromFile_AVFEQ (const double &scaleFactor) |
void | getFieldFromFile_FFA (const double &scaleFactor) |
void | getFieldFromFile_BandRF (const double &scaleFactor) |
void | getFieldFromFile_Synchrocyclotron (const double &scaleFactor) |
int | idx (int irad, int ktet) |
![]() | |
bool | isInsideTransverse (const Vector_t &r, double f=1) const |
![]() | |
RCObject () | |
Default constructor. More... | |
RCObject (const RCObject &) | |
Copy constructor. More... | |
virtual | ~RCObject ()=0 |
RCObject & | operator= (const RCObject &right) |
Protected Attributes | |
BfieldData | Bfield |
BPositions | BP |
![]() | |
double | exit_face_slope_m |
PartBunchBase< double, 3 > * | RefPartBunch_m |
bool | online_m |
![]() | |
bool | shareFlag |
CoordinateSystemTrafo | csTrafoGlobal2Local_m |
CoordinateSystemTrafo | misalignment_m |
std::pair< ApertureType, std::vector< double > > | aperture_m |
double | elementEdge_m |
double | rotationZAxis_m |
Private Member Functions | |
void | applyTrimCoil (const double r, const double z, const double tet_rad, double &br, double &bz) |
Apply trim coils (calculate field contributions) with smooth field transition. More... | |
void | applyTrimCoil_m (const double r, const double z, const double tet_rad, double *br, double *bz) |
Apply trim coils (calculate field contributions) More... | |
void | operator= (const Cyclotron &)=delete |
Private Attributes | |
std::string | fmapfn_m |
std::vector< double > | rffrequ_m |
std::vector< std::vector < double > > | rffc_m |
std::vector< double > | rfvrequ_m |
std::vector< std::vector < double > > | rfvc_m |
std::vector< double > | rfphi_m |
std::vector< double > | escale_m |
std::vector< bool > | superpose_m |
double | symmetry_m |
double | rinit_m |
double | prinit_m |
double | phiinit_m |
double | zinit_m |
double | pzinit_m |
bool | spiral_flag_m |
double | trimCoilThreshold_m |
B-field threshold for applying trim coil. More... | |
std::string | type_m |
double | harm_m |
double | bscale_m |
std::vector< TrimCoil * > | trimcoils_m |
Trim coils. More... | |
double | minr_m |
double | maxr_m |
double | minz_m |
double | maxz_m |
double | fmLowE_m |
double | fmHighE_m |
BFieldType | myBFieldType_m |
std::vector< Fieldmap * > | RFfields_m |
std::vector< std::string > | RFfilename_m |
std::vector< std::string > | RFFCoeff_fn_m |
std::vector< std::string > | RFVCoeff_fn_m |
std::unique_ptr< LossDataSink > | lossDs_m |
int | waiting_for_gap = 1 |
Additional Inherited Members | |
![]() | |
enum | ApertureType { RECTANGULAR, ELLIPTICAL, CONIC_RECTANGULAR, CONIC_ELLIPTICAL } |
enum | ElementType { ALIGNWRAPPER, BEAMBEAM, BEAMBEAM3D, BEAMLINE, BEAMSTRIPPING, CCOLLIMATOR, CORRECTOR, CORRECTORWRAPPER, CYCLOTRON, CYCLOTRONWRAPPER, CYCLOTRONVALLEY, DEGRADER, DIAGNOSTIC, DRIFT, FLEXIBLECOLLIMATOR, INTEGRATOR, LAMBERTSON, MARKER, MONITOR, MPSPLITINTEGRATOR, MULTIPOLE, MULTIPOLET, MULTIPOLEWRAPPER, OFFSET, PARALLELPLATE, PATCH, PROBE, RBEND, RBEND3D, RBENDWRAPPER, RFCAVITY, RFQUADRUPOLE, RING, SBEND3D, SBEND, SBENDWRAPPER, SEPARATOR, SEPTUM, SOLENOID, SOURCE, STRIPPER, TRAVELINGWAVE, VARIABLERFCAVITY, ANY } |
![]() | |
static std::string | getTypeString (ElementType type) |
![]() | |
static const std::vector< double > | defaultAperture_m |
Interface for a Cyclotron.
Definition at line 91 of file Cyclotron.h.
|
explicit |
Constructor with given name.
Definition at line 72 of file Cyclotron.cpp.
Cyclotron::Cyclotron | ( | ) |
Definition at line 36 of file Cyclotron.cpp.
Cyclotron::Cyclotron | ( | const Cyclotron & | right | ) |
Definition at line 41 of file Cyclotron.cpp.
|
virtual |
Definition at line 77 of file Cyclotron.cpp.
|
virtual |
Apply visitor to Cyclotron.
Implements ElementBase.
Reimplemented in CyclotronWrapper.
Definition at line 104 of file Cyclotron.cpp.
References BeamlineVisitor::visitCyclotron().
Reimplemented from Component.
Definition at line 342 of file Cyclotron.cpp.
References PartBunchBase< T, Dim >::Bin, PartBunchBase< T, Dim >::bunchNum, endl(), ElementBase::getName(), INFORM_ALL_NODES, level4(), lossDs_m, maxr_m, maxz_m, minr_m, PartBunchBase< T, Dim >::P, PartBunchBase< T, Dim >::R, and Component::RefPartBunch_m.
Referenced by BeamStrippingPhysics::doPhysics().
|
virtual |
Reimplemented from Component.
Definition at line 378 of file Cyclotron.cpp.
References applyTrimCoil(), atan(), BANDRF, cos(), Physics::e, endl(), escale_m, fmod(), interpolate(), myBFieldType_m, pi, matheval::detail::math::rad(), rffc_m, RFfields_m, rffrequ_m, rfphi_m, rfvc_m, sin(), superpose_m, SYNCHRO, and waiting_for_gap.
|
virtual |
Definition at line 513 of file Cyclotron.cpp.
References applyTrimCoil(), and interpolate().
|
private |
Apply trim coils (calculate field contributions) with smooth field transition.
Definition at line 89 of file Cyclotron.cpp.
References abs(), applyTrimCoil_m(), and trimCoilThreshold_m.
Referenced by apply().
|
private |
Apply trim coils (calculate field contributions)
Definition at line 81 of file Cyclotron.cpp.
References trimcoils_m.
Referenced by applyTrimCoil().
|
virtual |
Implements Component.
Definition at line 528 of file Cyclotron.cpp.
|
virtual |
Implements Component.
Definition at line 520 of file Cyclotron.cpp.
References endl(), lossDs_m, and Component::online_m.
|
virtual |
Definition at line 269 of file Cyclotron.cpp.
References bscale_m.
Referenced by ClosedOrbitFinder< Value_type, Size_type, Stepper >::ClosedOrbitFinder(), read(), and ParallelCyclotronTracker::visitCyclotron().
|
virtual |
Definition at line 281 of file Cyclotron.cpp.
References harm_m.
Referenced by Distribution::createMatchedGaussDistribution(), ParallelCyclotronTracker::getHarmonicNumber(), and ParallelCyclotronTracker::visitCyclotron().
const std::string & Cyclotron::getCyclotronType | ( | ) | const |
Definition at line 253 of file Cyclotron.cpp.
References type_m.
Referenced by ClosedOrbitFinder< Value_type, Size_type, Stepper >::ClosedOrbitFinder(), and ParallelCyclotronTracker::visitCyclotron().
|
protected |
Definition at line 783 of file Cyclotron.cpp.
References Bfield, BfieldData::bfld, BP, BfieldData::dbr, BfieldData::dbrr, BfieldData::dbrrr, BfieldData::dbrrt, BfieldData::dbrt, BfieldData::dbrtt, BfieldData::dbt, BfieldData::dbtt, BfieldData::dbttt, BPositions::delr, BPositions::dtet, BfieldData::f2, BfieldData::f3, BfieldData::g3, gutdf5d(), idx(), max(), min(), BfieldData::nrad, BfieldData::ntet, BfieldData::ntetS, BfieldData::ntot, pi, and BPositions::rarr.
Referenced by read().
|
virtual |
Implements Component.
Definition at line 1523 of file Cyclotron.cpp.
int Cyclotron::getFieldFlag | ( | const std::string & | type | ) | const |
To ease the initialise() function, set a integral parameter fieldflag internally. Its value is by the option "TYPE" of the element "CYCLOTRON" fieldflag = 1, read in PSI format measured field file (default) fieldflag = 2, read in carbon cyclotron field file created by Jianjun Yang, TYPE=CARBONCYCL fieldflag = 3, read in ANSYS format file for CYCIAE-100 created by Jianjun Yang, TYPE=CYCIAE fieldflag = 4, read in AVFEQ format file for Riken cyclotrons fieldflag = 5, read in FFA format file for MSU/FNAL FFA fieldflag = 6, read in both median plane B field map and 3D E field map of RF cavity for compact cyclotron fieldflag = 7, read in fields for Daniel's synchrocyclotron simulations
Definition at line 184 of file Cyclotron.cpp.
Referenced by ClosedOrbitFinder< Value_type, Size_type, Stepper >::ClosedOrbitFinder(), and ParallelCyclotronTracker::visitCyclotron().
|
protected |
Definition at line 896 of file Cyclotron.cpp.
References BPositions::Bfact, Bfield, BfieldData::bfld, BP, CHECK_CYC_FSCANF_EOF, BfieldData::dbt, BfieldData::dbtt, BfieldData::dbttt, BPositions::delr, BPositions::dtet, endl(), fmapfn_m, idx(), BfieldData::nrad, BfieldData::ntet, BfieldData::ntetS, BfieldData::ntot, BPositions::rmin, and BPositions::tetmin.
Referenced by read().
|
protected |
Definition at line 1147 of file Cyclotron.cpp.
References BPositions::Bfact, Bfield, BfieldData::bfld, BP, CHECK_CYC_FSCANF_EOF, BfieldData::dbt, BfieldData::dbtt, BfieldData::dbttt, BPositions::delr, BPositions::dtet, endl(), fmapfn_m, IpplInfo::getNodes(), idx(), Options::info, BfieldData::nrad, BfieldData::ntetS, BfieldData::ntot, BPositions::rmin, and BPositions::tetmin.
Referenced by read().
|
protected |
Definition at line 1420 of file Cyclotron.cpp.
References endl(), getFieldFromFile_Carbon(), Fieldmap::getFieldmap(), Fieldmap::readMap(), RFfields_m, and RFfilename_m.
Referenced by read().
|
protected |
Definition at line 1247 of file Cyclotron.cpp.
References BPositions::Bfact, Bfield, BfieldData::bfld, BP, CHECK_CYC_FSCANF_EOF, BfieldData::dbt, BfieldData::dbtt, BfieldData::dbttt, BPositions::delr, BPositions::dtet, endl(), fmapfn_m, fp1(), fp2(), IpplInfo::getNodes(), idx(), Options::info, BfieldData::nrad, BfieldData::ntet, BfieldData::ntetS, BfieldData::ntot, RFfields_m, BPositions::rmin, and BPositions::tetmin.
Referenced by getFieldFromFile_BandRF(), getFieldFromFile_Synchrocyclotron(), and read().
|
protected |
Definition at line 1342 of file Cyclotron.cpp.
References BPositions::Bfact, Bfield, BfieldData::bfld, BP, CHECK_CYC_FSCANF_EOF, BfieldData::dbt, BfieldData::dbtt, BfieldData::dbttt, BPositions::delr, BPositions::dtet, endl(), fmapfn_m, idx(), BfieldData::nrad, BfieldData::ntet, BfieldData::ntetS, BfieldData::ntot, BPositions::rmin, and BPositions::tetmin.
Referenced by read().
|
protected |
Definition at line 1036 of file Cyclotron.cpp.
References BPositions::Bfact, Bfield, BfieldData::bfld, BP, BfieldData::dbt, BfieldData::dbtt, BfieldData::dbttt, BPositions::delr, BPositions::dtet, endl(), fmapfn_m, IpplInfo::getNodes(), idx(), Options::info, BfieldData::nrad, BfieldData::ntet, BfieldData::ntetS, BfieldData::ntot, BPositions::rmin, and BPositions::tetmin.
Referenced by read().
|
protected |
Definition at line 1440 of file Cyclotron.cpp.
References CHECK_CYC_FSCANF_EOF, endl(), getFieldFromFile_Carbon(), Fieldmap::getFieldmap(), Fieldmap::readMap(), rffc_m, RFFCoeff_fn_m, RFfields_m, RFfilename_m, rfvc_m, and RFVCoeff_fn_m.
Referenced by read().
|
virtual |
Definition at line 168 of file Cyclotron.cpp.
References fmapfn_m.
Referenced by ParallelCyclotronTracker::visitCyclotron().
|
virtual |
Definition at line 339 of file Cyclotron.cpp.
References fmHighE_m.
Referenced by ClosedOrbitFinder< Value_type, Size_type, Stepper >::ClosedOrbitFinder(), and Distribution::createMatchedGaussDistribution().
|
virtual |
Definition at line 336 of file Cyclotron.cpp.
References fmLowE_m.
Referenced by ClosedOrbitFinder< Value_type, Size_type, Stepper >::ClosedOrbitFinder(), and Distribution::createMatchedGaussDistribution().
|
virtual |
Definition at line 310 of file Cyclotron.cpp.
References maxr_m.
Referenced by BeamStripping::checkBeamStripping(), and ParallelCyclotronTracker::visitCyclotron().
|
virtual |
Definition at line 327 of file Cyclotron.cpp.
References maxz_m.
Referenced by BeamStripping::checkBeamStripping(), and ParallelCyclotronTracker::visitCyclotron().
|
virtual |
Definition at line 306 of file Cyclotron.cpp.
References minr_m.
Referenced by BeamStripping::checkBeamStripping(), and ParallelCyclotronTracker::visitCyclotron().
|
virtual |
Definition at line 319 of file Cyclotron.cpp.
References minz_m.
Referenced by BeamStripping::checkBeamStripping(), and ParallelCyclotronTracker::visitCyclotron().
unsigned int Cyclotron::getNumberOfTrimcoils | ( | ) | const |
Definition at line 277 of file Cyclotron.cpp.
References trimcoils_m.
Referenced by ParallelCyclotronTracker::visitCyclotron().
|
virtual |
Definition at line 128 of file Cyclotron.cpp.
References phiinit_m.
Referenced by Distribution::createMatchedGaussDistribution(), SigmaGenerator< Value_type, Size_type >::match(), and ParallelCyclotronTracker::visitCyclotron().
|
virtual |
Definition at line 120 of file Cyclotron.cpp.
References prinit_m.
Referenced by ParallelCyclotronTracker::visitCyclotron().
|
virtual |
Definition at line 144 of file Cyclotron.cpp.
References pzinit_m.
Referenced by ParallelCyclotronTracker::visitCyclotron().
double Cyclotron::getRfFrequ | ( | ) | const |
Definition at line 223 of file Cyclotron.cpp.
References rffrequ_m.
|
virtual |
Definition at line 112 of file Cyclotron.cpp.
References rinit_m.
Referenced by ParallelCyclotronTracker::visitCyclotron().
|
virtual |
Definition at line 290 of file Cyclotron.cpp.
References Bfield, BP, BPositions::delr, BfieldData::nrad, and BPositions::rmin.
Referenced by ParallelCyclotronTracker::visitCyclotron().
|
virtual |
Definition at line 285 of file Cyclotron.cpp.
References BP, and BPositions::rmin.
Referenced by ParallelCyclotronTracker::visitCyclotron().
|
pure virtual |
Get number of slices.
Implemented in CyclotronWrapper, and CyclotronRep.
Referenced by CyclotronWrapper::getSlices().
|
virtual |
Definition at line 160 of file Cyclotron.cpp.
References spiral_flag_m.
Referenced by ParallelCyclotronTracker::visitCyclotron().
|
pure virtual |
Get stepsize.
Implemented in CyclotronWrapper, and CyclotronRep.
Referenced by CyclotronWrapper::getStepsize().
|
virtual |
Definition at line 244 of file Cyclotron.cpp.
References symmetry_m.
Referenced by ClosedOrbitFinder< Value_type, Size_type, Stepper >::ClosedOrbitFinder(), and ParallelCyclotronTracker::visitCyclotron().
|
virtual |
Definition at line 152 of file Cyclotron.cpp.
References trimCoilThreshold_m.
|
virtual |
Get element type std::string.
Reimplemented from Component.
Reimplemented in CyclotronWrapper.
Definition at line 257 of file Cyclotron.cpp.
References ElementBase::CYCLOTRON.
|
virtual |
Definition at line 136 of file Cyclotron.cpp.
References zinit_m.
Referenced by ParallelCyclotronTracker::visitCyclotron().
|
protected |
Definition at line 533 of file Cyclotron.cpp.
References pow().
Referenced by getdiffs().
|
inlineprotected |
Definition at line 238 of file Cyclotron.h.
References Bfield, and BfieldData::ntetS.
Referenced by getdiffs(), getFieldFromFile(), getFieldFromFile_AVFEQ(), getFieldFromFile_Carbon(), getFieldFromFile_CYCIAE(), getFieldFromFile_FFA(), and interpolate().
|
virtual |
Implements Component.
Definition at line 1023 of file Cyclotron.cpp.
References Component::online_m, and Component::RefPartBunch_m.
Referenced by ParallelCyclotronTracker::visitCyclotron().
|
virtual |
Definition at line 1028 of file Cyclotron.cpp.
References Options::asciidump, ElementBase::getName(), lossDs_m, read(), and Component::RefPartBunch_m.
|
protected |
Definition at line 1015 of file Cyclotron.cpp.
References BP, BPositions::delr, and BPositions::rarr.
Referenced by read().
bool Cyclotron::interpolate | ( | const double & | rad, |
const double & | tet_rad, | ||
double & | br, | ||
double & | bt, | ||
double & | bz | ||
) |
Definition at line 646 of file Cyclotron.cpp.
References Bfield, BfieldData::bfld, BP, BfieldData::dbr, BfieldData::dbt, BPositions::delr, BPositions::dtet, FFABF, fmod(), idx(), myBFieldType_m, BfieldData::nrad, BfieldData::ntet, BfieldData::ntetS, Physics::pi, BPositions::rmin, and symmetry_m.
Referenced by apply().
|
privatedelete |
void Cyclotron::read | ( | const int & | fieldflag, |
const double & | scaleFactor | ||
) |
Definition at line 733 of file Cyclotron.cpp.
References ANSYSBF, AVFEQBF, BANDRF, Bfield, BP, CARBONBF, BPositions::delr, endl(), ERRORMSG, FFABF, getBScale(), getdiffs(), getFieldFromFile(), getFieldFromFile_AVFEQ(), getFieldFromFile_BandRF(), getFieldFromFile_Carbon(), getFieldFromFile_CYCIAE(), getFieldFromFile_FFA(), getFieldFromFile_Synchrocyclotron(), initR(), myBFieldType_m, BfieldData::nrad, PSIBF, BPositions::rmin, and SYNCHRO.
Referenced by ClosedOrbitFinder< Value_type, Size_type, Stepper >::ClosedOrbitFinder(), and initialise().
void Cyclotron::setBScale | ( | double | bs | ) |
Definition at line 265 of file Cyclotron.cpp.
References bscale_m.
Referenced by OpalCyclotron::update().
void Cyclotron::setCyclHarm | ( | double | h | ) |
Definition at line 261 of file Cyclotron.cpp.
References harm_m.
Referenced by OpalCyclotron::update().
void Cyclotron::setEScale | ( | std::vector< double > | bs | ) |
Definition at line 273 of file Cyclotron.cpp.
References escale_m.
Referenced by OpalCyclotron::update().
void Cyclotron::setFieldMapFN | ( | std::string | fmapfn | ) |
Definition at line 164 of file Cyclotron.cpp.
References fmapfn_m.
Referenced by OpalCyclotron::update().
void Cyclotron::setFMHighE | ( | double | e | ) |
Definition at line 338 of file Cyclotron.cpp.
References Physics::e, and fmHighE_m.
Referenced by OpalCyclotron::update().
void Cyclotron::setFMLowE | ( | double | e | ) |
Definition at line 335 of file Cyclotron.cpp.
References Physics::e, and fmLowE_m.
Referenced by OpalCyclotron::update().
void Cyclotron::setMaxR | ( | double | r | ) |
Definition at line 301 of file Cyclotron.cpp.
References maxr_m.
Referenced by OpalCyclotron::update().
void Cyclotron::setMaxZ | ( | double | z | ) |
Definition at line 322 of file Cyclotron.cpp.
References maxz_m.
Referenced by OpalCyclotron::update().
void Cyclotron::setMinR | ( | double | r | ) |
Definition at line 295 of file Cyclotron.cpp.
References minr_m.
Referenced by OpalCyclotron::update().
void Cyclotron::setMinZ | ( | double | z | ) |
Definition at line 314 of file Cyclotron.cpp.
References minz_m.
Referenced by OpalCyclotron::update().
void Cyclotron::setPHIinit | ( | double | phiinit | ) |
Definition at line 124 of file Cyclotron.cpp.
References phiinit_m.
Referenced by OpalCyclotron::update().
void Cyclotron::setPRinit | ( | double | prinit | ) |
Definition at line 116 of file Cyclotron.cpp.
References prinit_m.
Referenced by Distribution::createMatchedGaussDistribution(), and OpalCyclotron::update().
void Cyclotron::setPZinit | ( | double | zinit | ) |
Definition at line 140 of file Cyclotron.cpp.
References pzinit_m.
Referenced by OpalCyclotron::update().
void Cyclotron::setRFFCoeffFN | ( | std::vector< std::string > | rff_coeff_fn | ) |
Definition at line 176 of file Cyclotron.cpp.
References RFFCoeff_fn_m.
Referenced by OpalCyclotron::update().
void Cyclotron::setRfFieldMapFN | ( | std::vector< std::string > | rffmapfn | ) |
Definition at line 172 of file Cyclotron.cpp.
References RFfilename_m.
Referenced by OpalCyclotron::update().
void Cyclotron::setRfFrequ | ( | std::vector< double > | f | ) |
Definition at line 219 of file Cyclotron.cpp.
References rffrequ_m.
Referenced by OpalCyclotron::update().
void Cyclotron::setRfPhi | ( | std::vector< double > | f | ) |
Definition at line 215 of file Cyclotron.cpp.
References rfphi_m.
Referenced by OpalCyclotron::update().
void Cyclotron::setRFVCoeffFN | ( | std::vector< std::string > | rfv_coeff_fn | ) |
Definition at line 180 of file Cyclotron.cpp.
References RFVCoeff_fn_m.
Referenced by OpalCyclotron::update().
void Cyclotron::setRinit | ( | double | rinit | ) |
Definition at line 108 of file Cyclotron.cpp.
References rinit_m.
Referenced by Distribution::createMatchedGaussDistribution(), and OpalCyclotron::update().
void Cyclotron::setSpiralFlag | ( | bool | spiral_flag | ) |
Definition at line 156 of file Cyclotron.cpp.
References spiral_flag_m.
Referenced by OpalCyclotron::update().
void Cyclotron::setSuperpose | ( | std::vector< bool > | flag | ) |
Definition at line 232 of file Cyclotron.cpp.
References superpose_m.
Referenced by OpalCyclotron::update().
void Cyclotron::setSymmetry | ( | double | symmetry | ) |
Definition at line 240 of file Cyclotron.cpp.
References symmetry_m.
Referenced by OpalCyclotron::update().
void Cyclotron::setTrimCoils | ( | const std::vector< TrimCoil * > & | trimcoils | ) |
Definition at line 331 of file Cyclotron.cpp.
References trimcoils_m.
Referenced by OpalCyclotron::update().
void Cyclotron::setTrimCoilThreshold | ( | double | trimCoilThreshold | ) |
Definition at line 148 of file Cyclotron.cpp.
References trimCoilThreshold_m.
Referenced by OpalCyclotron::update().
void Cyclotron::setType | ( | std::string | t | ) |
Definition at line 249 of file Cyclotron.cpp.
References type_m.
Referenced by OpalCyclotron::update().
void Cyclotron::setZinit | ( | double | zinit | ) |
Definition at line 132 of file Cyclotron.cpp.
References zinit_m.
Referenced by OpalCyclotron::update().
|
protected |
Definition at line 301 of file Cyclotron.h.
Referenced by getdiffs(), getFieldFromFile(), getFieldFromFile_AVFEQ(), getFieldFromFile_Carbon(), getFieldFromFile_CYCIAE(), getFieldFromFile_FFA(), getRmax(), idx(), interpolate(), and read().
|
protected |
Definition at line 304 of file Cyclotron.h.
Referenced by getdiffs(), getFieldFromFile(), getFieldFromFile_AVFEQ(), getFieldFromFile_Carbon(), getFieldFromFile_CYCIAE(), getFieldFromFile_FFA(), getRmax(), getRmin(), initR(), interpolate(), and read().
|
private |
Definition at line 266 of file Cyclotron.h.
Referenced by getBScale(), and setBScale().
|
private |
Definition at line 249 of file Cyclotron.h.
Referenced by apply(), and setEScale().
|
private |
Definition at line 243 of file Cyclotron.h.
Referenced by getFieldFromFile(), getFieldFromFile_AVFEQ(), getFieldFromFile_Carbon(), getFieldFromFile_CYCIAE(), getFieldFromFile_FFA(), getFieldMapFN(), and setFieldMapFN().
|
private |
Definition at line 278 of file Cyclotron.h.
Referenced by getFMHighE(), and setFMHighE().
|
private |
Definition at line 277 of file Cyclotron.h.
Referenced by getFMLowE(), and setFMLowE().
|
private |
Definition at line 264 of file Cyclotron.h.
Referenced by getCyclHarm(), and setCyclHarm().
|
private |
Definition at line 294 of file Cyclotron.h.
Referenced by apply(), finalise(), and initialise().
|
private |
Definition at line 272 of file Cyclotron.h.
|
private |
Definition at line 275 of file Cyclotron.h.
|
private |
Definition at line 271 of file Cyclotron.h.
|
private |
Definition at line 274 of file Cyclotron.h.
|
private |
Definition at line 284 of file Cyclotron.h.
Referenced by apply(), interpolate(), and read().
|
private |
Definition at line 256 of file Cyclotron.h.
Referenced by getPHIinit(), and setPHIinit().
|
private |
Definition at line 255 of file Cyclotron.h.
Referenced by getPRinit(), and setPRinit().
|
private |
Definition at line 258 of file Cyclotron.h.
Referenced by getPZinit(), and setPZinit().
|
private |
Definition at line 245 of file Cyclotron.h.
Referenced by apply(), and getFieldFromFile_Synchrocyclotron().
|
private |
Definition at line 290 of file Cyclotron.h.
Referenced by getFieldFromFile_Synchrocyclotron(), and setRFFCoeffFN().
|
private |
Definition at line 288 of file Cyclotron.h.
Referenced by apply(), getFieldFromFile_BandRF(), getFieldFromFile_Carbon(), and getFieldFromFile_Synchrocyclotron().
|
private |
Definition at line 289 of file Cyclotron.h.
Referenced by getFieldFromFile_BandRF(), getFieldFromFile_Synchrocyclotron(), and setRfFieldMapFN().
|
private |
Definition at line 244 of file Cyclotron.h.
Referenced by apply(), getRfFrequ(), and setRfFrequ().
|
private |
Definition at line 248 of file Cyclotron.h.
Referenced by apply(), and setRfPhi().
|
private |
Definition at line 247 of file Cyclotron.h.
Referenced by apply(), and getFieldFromFile_Synchrocyclotron().
|
private |
Definition at line 291 of file Cyclotron.h.
Referenced by getFieldFromFile_Synchrocyclotron(), and setRFVCoeffFN().
|
private |
Definition at line 246 of file Cyclotron.h.
|
private |
Definition at line 254 of file Cyclotron.h.
Referenced by getRinit(), and setRinit().
|
private |
Definition at line 260 of file Cyclotron.h.
Referenced by getSpiralFlag(), and setSpiralFlag().
|
private |
Definition at line 250 of file Cyclotron.h.
Referenced by apply(), and setSuperpose().
|
private |
Definition at line 252 of file Cyclotron.h.
Referenced by getSymmetry(), interpolate(), and setSymmetry().
|
private |
Trim coils.
Definition at line 269 of file Cyclotron.h.
Referenced by applyTrimCoil_m(), getNumberOfTrimcoils(), and setTrimCoils().
|
private |
B-field threshold for applying trim coil.
Definition at line 261 of file Cyclotron.h.
Referenced by applyTrimCoil(), getTrimCoilThreshold(), and setTrimCoilThreshold().
|
private |
Definition at line 263 of file Cyclotron.h.
Referenced by getCyclotronType(), and setType().
|
private |
Definition at line 297 of file Cyclotron.h.
Referenced by apply().
|
private |
Definition at line 257 of file Cyclotron.h.
Referenced by getZinit(), and setZinit().