|
OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
|
#include <Distribution.h>
Classes | |
| class | BinomialBehaviorSplitter |
| class | MDependentBehavior |
| class | GaussianLikeBehavior |
Public Member Functions | |
| Distribution () | |
| virtual | ~Distribution () |
| virtual bool | canReplaceBy (Object *object) |
| Distribution can only be replaced by another distribution. | |
| virtual Distribution * | clone (const std::string &name) |
| Return a clone. | |
| virtual void | execute () |
| Execute the command. | |
| virtual void | update () |
| Update this object. | |
| size_t | getNumOfLocalParticlesToCreate (size_t n) |
| void | createOpalCycl (PartBunchBase< double, 3 > *beam, size_t numberOfParticles, double current, const Beamline &bl) |
| void | createOpalT (PartBunchBase< double, 3 > *beam, std::vector< Distribution * > addedDistributions, size_t &numberOfParticles) |
| void | createOpalT (PartBunchBase< double, 3 > *beam, size_t &numberOfParticles) |
| void | doRestartOpalT (PartBunchBase< double, 3 > *p, size_t Np, int restartStep, H5PartWrapper *h5wrapper) |
| void | doRestartOpalCycl (PartBunchBase< double, 3 > *p, size_t Np, int restartStep, const int specifiedNumBunch, H5PartWrapper *h5wrapper) |
| size_t | emitParticles (PartBunchBase< double, 3 > *beam, double eZ) |
| double | getPercentageEmitted () const |
| bool | getIfDistEmitting () |
| int | getLastEmittedEnergyBin () |
| double | getMaxTOrZ () |
| double | getMinTOrZ () |
| size_t | getNumberOfEmissionSteps () |
| int | getNumberOfEnergyBins () |
| double | getEmissionDeltaT () |
| double | getEnergyBinDeltaT () |
| double | getWeight () |
| double | getTEmission () |
| Vector_t | get_pmean () const |
| std::string | getTypeofDistribution () |
| DistributionType | getType () const |
| Inform & | printInfo (Inform &os) const |
| bool | Rebin () |
| void | setDistToEmitted (bool emitted) |
| void | setDistType () |
| void | setSigmaR_m () |
| void | setSigmaP_m (double massIneV) |
| void | shiftBeam (double &maxTOrZ, double &minTOrZ) |
| double | getEmissionTimeShift () const |
| void | setNumberOfDistributions (unsigned int n) |
| virtual const std::string | getCategory () const |
| Return the object category as a string. | |
| virtual bool | shouldTrace () const |
| Trace flag. | |
| virtual bool | shouldUpdate () const |
| Update flag. | |
| void | copyAttributes (const Object &) |
| Copy attributes from another object. | |
| virtual Attribute * | findAttribute (const std::string &name) |
| Find an attribute by name. | |
| virtual const Attribute * | findAttribute (const std::string &name) const |
| Find an attribute by name. | |
| virtual Object * | makeTemplate (const std::string &, TokenStream &, Statement &) |
| Macro handler function. | |
| virtual Object * | makeInstance (const std::string &name, Statement &, const Parser *) |
| Macro handler function. | |
| virtual void | parse (Statement &) |
| Parse the object. | |
| virtual void | parseShortcut (Statement &, bool eval=true) |
| Parser for single-attribute commands. | |
| virtual void | print (std::ostream &) const |
| Print the object. | |
| virtual void | printValue (std::ostream &) const |
| virtual void | printHelp (std::ostream &) const |
| Print help. | |
| virtual void | replace (Object *oldObject, Object *newObject) |
| Replace references. | |
| bool | isBuiltin () const |
| True, if [b]this[/b] is a built-in object. | |
| virtual bool | isShared () const |
| Shared flag. | |
| virtual void | setShared (bool) |
| Set/reset shared flag. | |
| void | setDirty (bool) |
| Set/reset the [b]modified[/b] flag. | |
| bool | isDirty () const |
| True, if the [b]modified[/b] flag is set. | |
| void | setFlag (bool) |
| Flag/unflag this object, e. g. to control output of objects for. | |
| bool | isFlagged () const |
| True, if [b]this[/b] is flagged by setFlag(true). | |
| const Object * | getBaseObject () const |
| Return the object's base type object. | |
| const std::string & | getOpalName () const |
| Return object name. | |
| Object * | getParent () const |
| Return parent pointer. | |
| bool | isTreeMember (const Object *subTree) const |
| Test for tree membership. | |
| void | setOpalName (const std::string &name) |
| Set object name. | |
| void | setParent (Object *) |
| Set parent object. | |
| void | clear () |
| Clear the occurrence counter. | |
| int | increment () |
| Increment and return the occurrence counter. | |
| int | occurrenceCount () |
| Return the occurrence counter. | |
| void | registerReference (Invalidator *a) |
| Register a reference to this object. | |
| void | unregisterReference (Invalidator *a) |
| Unegister a reference to this object. | |
| void | registerOwnership (const AttributeHandler::OwnerType &itsClass) const |
| int | addReference () const |
| Increment reference count. | |
| int | removeReference () const |
| Decrement the reference count. | |
Static Public Member Functions | |
| static Distribution * | find (const std::string &name) |
Public Attributes | |
| std::vector< Attribute > | itsAttr |
| The object attributes. | |
Protected Attributes | |
| bool | builtin |
| Built-in flag. | |
| bool | modified |
| Dirty flag. | |
| bool | flagged |
| Object flag. | |
Private Types | |
| enum class | EmissionModel : unsigned short { NONE , ASTRA , NONEQUIL } |
| enum class | InputMomentumUnits : unsigned short { NONE , EVOVERC } |
Private Member Functions | |
| Distribution (const std::string &name, Distribution *parent) | |
| Distribution (const Distribution &)=delete | |
| void | operator= (const Distribution &)=delete |
| std::vector< double > & | getXDist () |
| std::vector< double > & | getBGxDist () |
| std::vector< double > & | getYDist () |
| std::vector< double > & | getBGyDist () |
| std::vector< double > & | getTOrZDist () |
| std::vector< double > & | getBGzDist () |
| void | eraseXDist () |
| void | eraseBGxDist () |
| void | eraseYDist () |
| void | eraseBGyDist () |
| void | eraseTOrZDist () |
| void | eraseBGzDist () |
| void | addDistributions () |
| void | applyEmissionModel (double lowEnergyLimit, double &px, double &py, double &pz, std::vector< double > &additionalRNs) |
| void | applyEmissModelAstra (double &px, double &py, double &pz, std::vector< double > &additionalRNs) |
| void | applyEmissModelNone (double &pz) |
| void | applyEmissModelNonEquil (double eZ, double &px, double &py, double &pz, std::vector< double > &additionalRNs) |
| void | create (size_t &numberOfParticles, double massIneV, double charge) |
| void | calcPartPerDist (size_t numberOfParticles) |
| void | checkEmissionParameters () |
| void | checkIfEmitted () |
| void | checkParticleNumber (size_t &numberOfParticles) |
| void | checkFileMomentum (double momentumTol) |
| void | chooseInputMomentumUnits (InputMomentumUnits inputMoUnits) |
| size_t | getNumberOfParticlesInFile (std::ifstream &inputFile) |
| void | createDistributionBinomial (size_t numberOfParticles, double massIneV) |
| void | createDistributionFlattop (size_t numberOfParticles, double massIneV) |
| void | createDistributionMultiGauss (size_t numberOfParticles, double massIneV) |
| void | createDistributionFromFile (size_t numberOfParticles, double massIneV) |
| void | createDistributionGauss (size_t numberOfParticles, double massIneV) |
| void | createMatchedGaussDistribution (size_t numberOfParticles, double massIneV, double charge) |
| void | sampleUniformDisk (gsl_qrng *quasiRandGen2D, double &x1, double &x2) |
| void | fillEBinHistogram () |
| void | fillParticleBins () |
| size_t | findEBin (double tOrZ) |
| void | generateAstraFlattopT (size_t numberOfParticles) |
| void | generateBinomial (size_t numberOfParticles) |
| void | generateFlattopLaserProfile (size_t numberOfParticles) |
| void | generateFlattopT (size_t numberOfParticles) |
| void | generateFlattopZ (size_t numberOfParticles) |
| void | generateGaussZ (size_t numberOfParticles) |
| void | generateMatchedGauss (const SigmaGenerator::matrix_t &, size_t numberOfParticles, double massIneV) |
| void | generateLongFlattopT (size_t numberOfParticles) |
| void | generateTransverseGauss (size_t numberOfParticles) |
| void | initializeBeam (PartBunchBase< double, 3 > *beam) |
| void | injectBeam (PartBunchBase< double, 3 > *beam) |
| void | printDist (Inform &os, size_t numberOfParticles) const |
| void | printDistBinomial (Inform &os) const |
| void | printDistFlattop (Inform &os) const |
| void | printDistMultiGauss (Inform &os) const |
| void | printDistFromFile (Inform &os) const |
| void | printDistGauss (Inform &os) const |
| void | printDistMatchedGauss (Inform &os) const |
| void | printEmissionModel (Inform &os) const |
| void | printEmissionModelAstra (Inform &os) const |
| void | printEmissionModelNone (Inform &os) const |
| void | printEmissionModelNonEquil (Inform &os) const |
| void | printEnergyBins (Inform &os) const |
| void | adjustPhaseSpace (double massIneV) |
| void | reflectDistribution (size_t &numberOfParticles) |
| void | scaleDistCoordinates () |
| gsl_qrng * | selectRandomGenerator (std::string, unsigned int dimension) |
| Select and allocate gsl random number generator. | |
| void | setAttributes () |
| void | setDistParametersBinomial (double massIneV) |
| void | setDistParametersFlattop (double massIneV) |
| void | setDistParametersMultiGauss (double massIneV) |
| void | setDistParametersGauss (double massIneV) |
| void | setEmissionTime (double &maxT, double &minT) |
| void | setupEmissionModel (PartBunchBase< double, 3 > *beam) |
| void | setupEmissionModelAstra (PartBunchBase< double, 3 > *beam) |
| void | setupEmissionModelNone (PartBunchBase< double, 3 > *beam) |
| void | setupEmissionModelNonEquil () |
| void | setupEnergyBins (double maxTOrZ, double minTOrZ) |
| void | setupParticleBins (double massIneV, PartBunchBase< double, 3 > *beam) |
| void | shiftDistCoordinates (double massIneV) |
| void | writeOutFileHeader () |
| void | writeOutFileEmission () |
| void | writeOutFileInjection () |
Private Attributes | |
| std::string | distT_m |
| DistributionType | distrTypeT_m |
| Distribution type strings. | |
| unsigned int | numberOfDistributions_m |
| List of Distribution types. | |
| bool | emitting_m |
| PartData | particleRefData_m |
| std::vector< Distribution * > | addedDistributions_m |
| Vector of distributions to be added to this distribution. | |
| std::vector< size_t > | particlesPerDist_m |
| EmissionModel | emissionModel_m |
| Emission Model. | |
| double | tEmission_m |
| Emission parameters. | |
| double | tBin_m |
| double | currentEmissionTime_m |
| int | currentEnergyBin_m |
| int | currentSampleBin_m |
| int | numberOfEnergyBins_m |
| int | numberOfSampleBins_m |
| PartBins * | energyBins_m |
| gsl_histogram * | energyBinHist_m |
| Distribution energy bins. | |
| gsl_rng * | randGen_m |
| double | pTotThermal_m |
| Random number generator. | |
| Vector_t | pmean_m |
| Total thermal momentum. | |
| double | cathodeWorkFunc_m |
| double | laserEnergy_m |
| Cathode material work function (eV). | |
| double | cathodeFermiEnergy_m |
| Laser photon energy (eV). | |
| double | cathodeTemp_m |
| Cathode material Fermi energy (eV). | |
| double | emitEnergyUpperLimit_m |
| Cathode temperature (K). | |
| std::vector< std::vector< double > > | additionalRNs_m |
| Upper limit on emission energy distribution (eV). | |
| size_t | totalNumberParticles_m |
| size_t | totalNumberEmittedParticles_m |
| std::vector< double > | xDist_m |
| std::vector< double > | pxDist_m |
| std::vector< double > | yDist_m |
| std::vector< double > | pyDist_m |
| std::vector< double > | tOrZDist_m |
| std::vector< double > | pzDist_m |
| std::vector< double > | xWrite_m |
| std::vector< double > | pxWrite_m |
| std::vector< double > | yWrite_m |
| std::vector< double > | pyWrite_m |
| std::vector< double > | tOrZWrite_m |
| std::vector< double > | pzWrite_m |
| std::vector< size_t > | binWrite_m |
| double | avrgpz_m |
| InputMomentumUnits | inputMoUnits_m |
| double | sigmaTRise_m |
| double | sigmaTFall_m |
| double | tPulseLengthFWHM_m |
| Vector_t | sigmaR_m |
| Vector_t | sigmaP_m |
| Vector_t | cutoffR_m |
| Vector_t | cutoffP_m |
| Vector_t | mBinomial_m |
| matrix_t | correlationMatrix_m |
| double | sepPeaks_m |
| unsigned | nPeaks_m |
| std::string | laserProfileFileName_m |
| std::string | laserImageName_m |
| double | laserIntensityCut_m |
| LaserProfile * | laserProfile_m |
| double | I_m |
| double | E_m |
| double | tRise_m |
| time binned distribution with thermal energy | |
| double | tFall_m |
| double | sigmaRise_m |
| double | sigmaFall_m |
| double | cutoff_m |
| std::string | outFilename_m |
| Object * | itsParent |
| std::string | itsName |
| std::string | itsHelp |
| int | occurrence |
| double | timeStamp |
| std::set< Invalidator * > | references |
| bool | sharedFlag |
| int | refCount |
Static Private Attributes | |
| static const double | percentTEmission_m = 0.0005 |
Definition at line 188 of file Distribution.h.
|
strongprivate |
| Enumerator | |
|---|---|
| NONE | |
| ASTRA | |
| NONEQUIL | |
Definition at line 245 of file Distribution.h.
|
strongprivate |
| Enumerator | |
|---|---|
| NONE | |
| EVOVERC | |
Definition at line 251 of file Distribution.h.
| Distribution::Distribution | ( | ) |
Definition at line 80 of file Distribution.cpp.
References avrgpz_m, Object::builtin, cathodeFermiEnergy_m, cathodeTemp_m, cathodeWorkFunc_m, clone(), correlationMatrix_m, currentEmissionTime_m, currentEnergyBin_m, currentSampleBin_m, OpalData::define(), Definition::Definition(), Distribution(), distrTypeT_m, E_m, emissionModel_m, emitEnergyUpperLimit_m, emitting_m, energyBinHist_m, energyBins_m, OpalData::getInstance(), I_m, inputMoUnits_m, laserEnergy_m, laserImageName_m, laserIntensityCut_m, laserProfile_m, laserProfileFileName_m, nPeaks_m, numberOfDistributions_m, numberOfEnergyBins_m, numberOfSampleBins_m, pmean_m, pTotThermal_m, randGen_m, sepPeaks_m, setAttributes(), sigmaTFall_m, sigmaTRise_m, SIZE, tBin_m, tEmission_m, totalNumberEmittedParticles_m, totalNumberParticles_m, and tPulseLengthFWHM_m.
Referenced by calcPartPerDist(), canReplaceBy(), clone(), createOpalT(), Distribution(), Distribution(), Distribution(), find(), operator=(), and shiftDistCoordinates().
|
virtual |
Definition at line 210 of file Distribution.cpp.
References energyBinHist_m, energyBins_m, laserProfile_m, and randGen_m.
|
private |
| name | |
| parent |
Definition at line 141 of file Distribution.cpp.
References addedDistributions_m, avrgpz_m, cathodeFermiEnergy_m, cathodeTemp_m, cathodeWorkFunc_m, correlationMatrix_m, currentEmissionTime_m, currentEnergyBin_m, currentSampleBin_m, cutoff_m, cutoffP_m, cutoffR_m, Definition::Definition(), Distribution(), distrTypeT_m, distT_m, E_m, emissionModel_m, emitEnergyUpperLimit_m, emitting_m, energyBinHist_m, energyBins_m, I_m, inputMoUnits_m, laserEnergy_m, laserImageName_m, laserIntensityCut_m, laserProfile_m, laserProfileFileName_m, name, nPeaks_m, numberOfDistributions_m, numberOfEnergyBins_m, numberOfSampleBins_m, particleRefData_m, particlesPerDist_m, pmean_m, pTotThermal_m, pxDist_m, pxWrite_m, pyDist_m, pyWrite_m, pzDist_m, pzWrite_m, randGen_m, sepPeaks_m, sigmaFall_m, sigmaP_m, sigmaR_m, sigmaRise_m, sigmaTFall_m, sigmaTRise_m, tBin_m, tEmission_m, tFall_m, tOrZDist_m, tOrZWrite_m, totalNumberEmittedParticles_m, totalNumberParticles_m, tPulseLengthFWHM_m, tRise_m, xDist_m, xWrite_m, yDist_m, and yWrite_m.
|
privatedelete |
|
private |
Definition at line 601 of file Distribution.cpp.
References addedDistributions_m, particlesPerDist_m, pxDist_m, pyDist_m, pzDist_m, tOrZDist_m, xDist_m, and yDist_m.
Referenced by createOpalT().
|
inlineinherited |
Increment reference count.
Definition at line 83 of file RCObject.h.
References refCount.
Referenced by Pointer< Object >::operator=(), Pointer< Object >::operator=(), and Pointer< Object >::unique().
|
private |
Definition at line 4420 of file Distribution.cpp.
References allreduce(), avrgpz_m, Util::convertMomentumEVoverCToBetaGamma(), distrTypeT_m, emitting_m, EVOVERC, FROMFILE, OpalData::getInstance(), Attributes::getReal(), inputMoUnits_m, Object::itsAttr, Attrib::Distribution::OFFSETPX, Attrib::Distribution::OFFSETPY, pxDist_m, pyDist_m, pzDist_m, tOrZDist_m, totalNumberParticles_m, xDist_m, and yDist_m.
Referenced by create().
|
private |
Definition at line 645 of file Distribution.cpp.
References applyEmissModelAstra(), applyEmissModelNone(), applyEmissModelNonEquil(), ASTRA, emissionModel_m, NONE, and NONEQUIL.
Referenced by emitParticles().
|
private |
Definition at line 663 of file Distribution.cpp.
References pTotThermal_m, and Physics::two_pi.
Referenced by applyEmissionModel().
|
private |
Definition at line 674 of file Distribution.cpp.
References pTotThermal_m.
Referenced by applyEmissionModel().
|
private |
Definition at line 678 of file Distribution.cpp.
References cathodeFermiEnergy_m, cathodeTemp_m, emitEnergyUpperLimit_m, exp(), Units::GeV2eV, laserEnergy_m, Physics::m_e, randGen_m, and Physics::two_pi.
Referenced by applyEmissionModel().
|
private |
Definition at line 735 of file Distribution.cpp.
References addedDistributions_m, Distribution(), distrTypeT_m, Attrib::Distribution::FNAME, FROMFILE, getNumberOfParticlesInFile(), Attributes::getString(), getWeight(), Object::itsAttr, IpplInfo::myNode(), numberOfDistributions_m, and particlesPerDist_m.
Referenced by createOpalCycl(), and createOpalT().
|
virtual |
Distribution can only be replaced by another distribution.
Reimplemented from Object.
Definition at line 241 of file Distribution.cpp.
References Distribution(), and Object::Object().
|
private |
Definition at line 804 of file Distribution.cpp.
References currentEnergyBin_m, currentSampleBin_m, Attrib::Distribution::EMISSIONSTEPS, Attributes::getReal(), Object::itsAttr, Attrib::Distribution::NBIN, numberOfEnergyBins_m, and numberOfSampleBins_m.
Referenced by createOpalT(), and generateAstraFlattopT().
|
private |
Definition at line 875 of file Distribution.cpp.
References avrgpz_m, and pmean_m.
Referenced by createOpalT().
|
private |
Definition at line 829 of file Distribution.cpp.
References ASTRAFLATTOPTH, distrTypeT_m, Attrib::Distribution::EMITTED, emitting_m, Attributes::getBool(), GUNGAUSSFLATTOPTH, and Object::itsAttr.
Referenced by createOpalT().
|
private |
Definition at line 844 of file Distribution.cpp.
References IpplInfo::getNodes(), reduce(), and tOrZDist_m.
Referenced by createOpalCycl(), and createOpalT().
|
private |
Definition at line 891 of file Distribution.cpp.
References EVOVERC, Attributes::getString(), Attrib::Distribution::INPUTMOUNITS, inputMoUnits_m, Object::itsAttr, and NONE.
Referenced by createOpalCycl(), and createOpalT().
|
inherited |
|
virtual |
Return a clone.
Implements Object.
Definition at line 245 of file Distribution.cpp.
References Distribution(), and name.
Referenced by Distribution().
|
inherited |
Copy attributes from another object.
Definition at line 54 of file Object.cpp.
References itsAttr, and Object().
Referenced by LineTemplate::makeInstance(), and SequenceTemplate::makeInstance().
|
private |
Create the particle distribution.
| numberOfParticles | to create |
| massIneV | particle charge in eV |
| charge | of the particle type in elementary charge |
Definition at line 255 of file Distribution.cpp.
References additionalRNs_m, adjustPhaseSpace(), ASTRA, ASTRAFLATTOPTH, BINOMIAL, createDistributionBinomial(), createDistributionFlattop(), createDistributionFromFile(), createDistributionGauss(), createDistributionMultiGauss(), createMatchedGaussDistribution(), Options::cZero, distrTypeT_m, emissionModel_m, emitting_m, endl(), FLATTOP, FROMFILE, GAUSS, Attributes::getBool(), IpplInfo::getNodes(), getNumOfLocalParticlesToCreate(), gmsg, GUNGAUSSFLATTOPTH, Object::itsAttr, level2(), MATCHEDGAUSS, MULTIGAUSS, IpplInfo::myNode(), NONEQUIL, particlesPerDist_m, randGen_m, reflectDistribution(), Attrib::Distribution::SCALABLE, scaleDistCoordinates(), Options::seed, and tOrZDist_m.
Referenced by createOpalCycl(), and createOpalT().
|
private |
Definition at line 908 of file Distribution.cpp.
References generateBinomial(), and setDistParametersBinomial().
Referenced by create().
|
private |
Definition at line 914 of file Distribution.cpp.
References emitting_m, generateFlattopLaserProfile(), generateFlattopT(), generateFlattopZ(), laserProfile_m, and setDistParametersFlattop().
Referenced by create().
|
private |
Definition at line 1034 of file Distribution.cpp.
References Util::convertMomentumEVoverCToBetaGamma(), EVOVERC, Attrib::Distribution::FNAME, IpplInfo::getComm(), IpplInfo::getNodes(), getNumberOfParticlesInFile(), Attributes::getString(), inputMoUnits_m, Object::itsAttr, IpplInfo::myNode(), pmean_m, pxDist_m, pyDist_m, pzDist_m, reduce(), tOrZDist_m, xDist_m, and yDist_m.
Referenced by create().
|
private |
Definition at line 1334 of file Distribution.cpp.
References emitting_m, generateGaussZ(), generateLongFlattopT(), generateTransverseGauss(), and setDistParametersGauss().
Referenced by create().
|
private |
Definition at line 927 of file Distribution.cpp.
References avrgpz_m, cutoffP_m, cutoffR_m, emitting_m, exp(), Attributes::getBool(), IpplInfo::getNodes(), Object::itsAttr, IpplInfo::myNode(), nPeaks_m, pxDist_m, pyDist_m, pzDist_m, randGen_m, Options::rngtype, sampleUniformDisk(), Attrib::Distribution::SCALABLE, selectRandomGenerator(), sepPeaks_m, setDistParametersMultiGauss(), sigmaP_m, sigmaR_m, tOrZDist_m, xDist_m, and yDist_m.
Referenced by create().
|
private |
Definition at line 1166 of file Distribution.cpp.
References Units::A2mA, Options::cloTuneOnly, Attrib::Distribution::DENERGY, E_m, endl(), Attrib::Distribution::ET, Units::eV2MeV, Attrib::Distribution::EX, SpecificElementVisitor< ELEM >::execute(), Attrib::Distribution::EY, BeamSequence::fetchLine(), BeamSequence::find(), SpecificElementVisitor< ELEM >::front(), generateMatchedGauss(), Attributes::getBool(), Cyclotron::getCyclHarm(), Cyclotron::getFieldMapFN(), Cyclotron::getFMHighE(), Cyclotron::getFMLowE(), Cyclotron::getPHIinit(), Attributes::getReal(), Attributes::getString(), Units::GeV2MeV, gmsg, I_m, Object::itsAttr, Attrib::Distribution::LINE, Units::m2mm, Attrib::Distribution::MAXSTEPSCO, Attrib::Distribution::MAXSTEPSSI, Attrib::Distribution::NSECTORS, Attrib::Distribution::NSTEPS, Attrib::Distribution::ORDERMAPS, Units::rad2deg, Units::rad2mrad, Attrib::Distribution::RESIDUUM, Attrib::Distribution::RGUESS, Attrib::Distribution::SECTOR, Cyclotron::setPRinit(), Cyclotron::setRinit(), and SpecificElementVisitor< ELEM >::size().
Referenced by create().
| void Distribution::createOpalCycl | ( | PartBunchBase< double, 3 > * | beam, |
| size_t | numberOfParticles, | ||
| double | current, | ||
| const Beamline & | bl ) |
Definition at line 1346 of file Distribution.cpp.
References OpalData::addProblemCharacteristicValue(), calcPartPerDist(), checkParticleNumber(), chooseInputMomentumUnits(), create(), E_m, emitting_m, energyBins_m, EVOVERC, fillParticleBins(), PartBunchBase< T, Dim >::getInitialGamma(), OpalData::getInstance(), PartBunchBase< T, Dim >::getLocalNum(), PartBunchBase< T, Dim >::getM(), PartBunchBase< T, Dim >::getQ(), PartBunchBase< T, Dim >::getTotalNum(), I_m, initializeBeam(), injectBeam(), numberOfEnergyBins_m, particlesPerDist_m, setDistType(), PartBunchBase< T, Dim >::setPBins(), setupParticleBins(), shiftDistCoordinates(), tOrZDist_m, totalNumberParticles_m, and writeOutFileHeader().
| void Distribution::createOpalT | ( | PartBunchBase< double, 3 > * | beam, |
| size_t & | numberOfParticles ) |
Definition at line 1416 of file Distribution.cpp.
References addDistributions(), addedDistributions_m, additionalRNs_m, OpalData::addProblemCharacteristicValue(), ASTRA, ASTRAFLATTOPTH, avrgpz_m, calcPartPerDist(), checkEmissionParameters(), checkFileMomentum(), checkIfEmitted(), checkParticleNumber(), chooseInputMomentumUnits(), Util::convertMomentumEVoverCToBetaGamma(), create(), Options::cZero, PartBunchBase< T, Dim >::distrCreate_m, Distribution(), distrTypeT_m, emissionModel_m, emitting_m, end(), EVOVERC, fillEBinHistogram(), FROMFILE, OpalData::getInstance(), PartBunchBase< T, Dim >::getM(), getMaxTOrZ(), getMinTOrZ(), PartBunchBase< T, Dim >::getMomentumTolerance(), PartBunchBase< T, Dim >::getP(), PartBunchBase< T, Dim >::getQ(), Attributes::getReal(), GUNGAUSSFLATTOPTH, initializeBeam(), injectBeam(), inputMoUnits_m, Object::itsAttr, NONE, numberOfEnergyBins_m, Attrib::Distribution::OFFSETP, particlesPerDist_m, pmean_m, setDistType(), setEmissionTime(), setupEmissionModel(), setupEmissionModelNone(), setupEnergyBins(), shiftBeam(), shiftDistCoordinates(), IpplTimings::startTimer(), IpplTimings::stopTimer(), totalNumberParticles_m, and writeOutFileHeader().
| void Distribution::createOpalT | ( | PartBunchBase< double, 3 > * | beam, |
| std::vector< Distribution * > | addedDistributions, | ||
| size_t & | numberOfParticles ) |
Definition at line 1408 of file Distribution.cpp.
References addedDistributions_m, and createOpalT().
Referenced by createOpalT().
| void Distribution::doRestartOpalCycl | ( | PartBunchBase< double, 3 > * | p, |
| size_t | Np, | ||
| int | restartStep, | ||
| const int | specifiedNumBunch, | ||
| H5PartWrapper * | h5wrapper ) |
Definition at line 411 of file Distribution.cpp.
References OpalData::addProblemCharacteristicValue(), PartBunchBase< T, Dim >::boundp(), PartBunchBase< T, Dim >::create(), PartBunchBase< T, Dim >::distrReload_m, endl(), energyBins_m, Units::eV2MeV, PartBunchBase< T, Dim >::get_sPos(), PartBunchBase< T, Dim >::getChargePerParticle(), OpalData::getInstance(), PartBunchBase< T, Dim >::getLocalNum(), PartBunchBase< T, Dim >::getM(), IpplInfo::getNodes(), PartBunchBase< T, Dim >::getNumBunch(), H5PartWrapper::getNumParticles(), PartBunchBase< T, Dim >::getSteptoLastInj(), PartBunchBase< T, Dim >::getTotalNum(), INFOMSG, IpplInfo::myNode(), PartBunchBase< T, Dim >::P, PAssert_GE, H5PartWrapper::predecessorIsSameFlavour(), PartBunchBase< T, Dim >::Q, PartBunchBase< T, Dim >::R, H5PartWrapper::readHeader(), H5PartWrapper::readStep(), reduce(), PartBunchBase< T, Dim >::setPBins(), IpplTimings::startTimer(), and IpplTimings::stopTimer().
| void Distribution::doRestartOpalT | ( | PartBunchBase< double, 3 > * | p, |
| size_t | Np, | ||
| int | restartStep, | ||
| H5PartWrapper * | h5wrapper ) |
Definition at line 376 of file Distribution.cpp.
References OpalData::addProblemCharacteristicValue(), PartBunchBase< T, Dim >::boundp(), PartBunchBase< T, Dim >::create(), PartBunchBase< T, Dim >::distrReload_m, endl(), OpalData::getGlobalPhaseShift(), PartBunchBase< T, Dim >::getGlobalTrackStep(), OpalData::getInstance(), PartBunchBase< T, Dim >::getLocalTrackStep(), IpplInfo::getNodes(), H5PartWrapper::getNumParticles(), PartBunchBase< T, Dim >::getT(), PartBunchBase< T, Dim >::getTotalNum(), gmsg, IpplInfo::myNode(), PAssert_GE, H5PartWrapper::readHeader(), H5PartWrapper::readStep(), IpplTimings::startTimer(), and IpplTimings::stopTimer().
| size_t Distribution::emitParticles | ( | PartBunchBase< double, 3 > * | beam, |
| double | eZ ) |
Here we emit particles from the cathode.
A typical integration time step, \(\Delta t\), is broken down into 3 sub-steps:
1) Drift particles for \(\frac{\Delta t}{2}\).
2) Calculate fields and advance momentum.
3) Drift particles for \(\frac{\Delta t}{2}\) at the new momentum to complete the full time step.
The difficulty for emission is that at the cathode position there is a step function discontinuity in the fields. If we apply the typical integration time step across this boundary, we get an artificial numerical bunching of the beam, especially at very high accelerating fields. This function takes the cathode position boundary into account in order to achieve smoother particle emission.
During an emission step, an integral number of time bins from the distribution histogram are emitted. However, each particle contained in those time bins will actually be emitted from the cathode at a different time, so will only spend some fraction of the total time step, \(\Delta t_{full-timestep}\), in the simulation. The trick to emission is to give each particle a unique time step, \(Delta t_{temp}\), that is equal to the actual time during the emission step that the particle exists in the simulation. For the next integration time step, the particle's time step is set back to the global time step, \(\Delta t_{full-timestep}\).
Definition at line 1583 of file Distribution.cpp.
References additionalRNs_m, applyEmissionModel(), PartBunchBase< T, Dim >::Bf, PartBunchBase< T, Dim >::Bin, binWrite_m, Physics::c, cathodeFermiEnergy_m, cathodeWorkFunc_m, PartBunchBase< T, Dim >::create(), currentEmissionTime_m, currentEnergyBin_m, currentSampleBin_m, PartBunchBase< T, Dim >::dt, PartBunchBase< T, Dim >::Ef, emitting_m, endl(), Physics::epsilon_0, PartBunchBase< T, Dim >::getChargePerParticle(), PartBunchBase< T, Dim >::getdT(), PartBunchBase< T, Dim >::getLocalNum(), PartBunchBase< T, Dim >::getMassPerParticle(), PartBunchBase< T, Dim >::getPType(), PartBunchBase< T, Dim >::getQ(), INFOMSG, PartBunchBase< T, Dim >::iterateEmittedBin(), laserEnergy_m, level3(), PartBunchBase< T, Dim >::M, numberOfEnergyBins_m, numberOfSampleBins_m, PartBunchBase< T, Dim >::P, Physics::pi, PartBunchBase< T, Dim >::POrigin, PartBunchBase< T, Dim >::PType, pxDist_m, pxWrite_m, pyDist_m, pyWrite_m, pzDist_m, pzWrite_m, PartBunchBase< T, Dim >::Q, Physics::q_e, PartBunchBase< T, Dim >::R, reduce(), REGULAR, tOrZDist_m, tOrZWrite_m, totalNumberEmittedParticles_m, PartBunchBase< T, Dim >::TriID, writeOutFileEmission(), xDist_m, xWrite_m, yDist_m, and yWrite_m.
|
private |
Definition at line 1750 of file Distribution.cpp.
References pxDist_m.
|
private |
Definition at line 1758 of file Distribution.cpp.
References pyDist_m.
|
private |
Definition at line 1766 of file Distribution.cpp.
References pzDist_m.
|
private |
Definition at line 1762 of file Distribution.cpp.
References tOrZDist_m.
|
private |
Definition at line 1746 of file Distribution.cpp.
References xDist_m.
|
private |
Definition at line 1754 of file Distribution.cpp.
References yDist_m.
|
virtual |
|
private |
Definition at line 1788 of file Distribution.cpp.
References energyBinHist_m, reduce(), and tOrZDist_m.
Referenced by createOpalT().
|
private |
Definition at line 1807 of file Distribution.cpp.
References energyBins_m, pxDist_m, pyDist_m, pzDist_m, tOrZDist_m, xDist_m, and yDist_m.
Referenced by createOpalCycl().
|
static |
Definition at line 492 of file Distribution.cpp.
References Distribution(), OpalData::find(), OpalData::getInstance(), and name.
Referenced by TrackRun::setDistributionParallelT(), and TrackRun::setupCyclotronTracker().
|
virtualinherited |
Find an attribute by name.
Definition at line 64 of file Object.cpp.
Referenced by OpalElement::getParticleMatterInteraction(), OpalElement::getTypeName(), OpalElement::getWakeF(), Line::parse(), parse(), OpalElement::parse(), OpalParser::parseAssign(), SequenceParser::parsePosition(), and parseShortcut().
|
virtualinherited |
|
private |
Definition at line 1828 of file Distribution.cpp.
References energyBinHist_m, numberOfEnergyBins_m, and numberOfSampleBins_m.
Referenced by injectBeam(), and writeOutFileInjection().
|
private |
Definition at line 1841 of file Distribution.cpp.
References a, checkEmissionParameters(), Attributes::getBool(), IpplInfo::getNodes(), Attributes::getReal(), Object::itsAttr, IpplInfo::myNode(), Attrib::Distribution::NBIN, pzDist_m, randGen_m, Attrib::Legacy::Distribution::SBIN, Attrib::Distribution::SCALABLE, tBin_m, tEmission_m, tOrZDist_m, tPulseLengthFWHM_m, and tRise_m.
Referenced by generateFlattopLaserProfile(), and generateFlattopT().
|
private |
Following W. Johos for his report TM-11-14
For the \(x,p_x\) phase space we have:
\[ \epsilon_x = \sigma_x \sigma_{p_x} \cos{( \arcsin{(\sigma_{12}) }) } \]
\begin{eqnarray*}\beta_x &=& \frac{\sigma_x^2}{\epsilon_x} \\ \gamma_x &=& \frac{\sigma_{p_x}^2}{\epsilon_x} \\ \alpha_x &=& -\sigma_{12} \sqrt{(\beta_x \gamma_x)} \\ \end{eqnarray*}
This holds similar for the other dimensions.
Definition at line 1952 of file Distribution.cpp.
References avrgpz_m, correlationMatrix_m, Attributes::getBool(), IpplInfo::getNodes(), Object::itsAttr, mBinomial_m, IpplInfo::myNode(), PM, pxDist_m, pyDist_m, pzDist_m, randGen_m, Attrib::Distribution::SCALABLE, sigmaP_m, sigmaR_m, tOrZDist_m, Physics::two_pi, X, xDist_m, and yDist_m.
Referenced by createDistributionBinomial().
|
private |
Definition at line 2087 of file Distribution.cpp.
References ASTRAFLATTOPTH, distrTypeT_m, generateAstraFlattopT(), generateLongFlattopT(), Attributes::getBool(), IpplInfo::getNodes(), Object::itsAttr, laserProfile_m, IpplInfo::myNode(), pxDist_m, pyDist_m, Attrib::Distribution::SCALABLE, sigmaR_m, xDist_m, and yDist_m.
Referenced by createDistributionFlattop().
|
private |
Definition at line 2123 of file Distribution.cpp.
References ASTRAFLATTOPTH, distrTypeT_m, generateAstraFlattopT(), generateLongFlattopT(), Attributes::getBool(), IpplInfo::getNodes(), Object::itsAttr, IpplInfo::myNode(), pxDist_m, pyDist_m, Options::rngtype, sampleUniformDisk(), Attrib::Distribution::SCALABLE, selectRandomGenerator(), sigmaR_m, xDist_m, and yDist_m.
Referenced by createDistributionFlattop().
|
private |
Definition at line 2165 of file Distribution.cpp.
References avrgpz_m, Attributes::getBool(), IpplInfo::getNodes(), Object::itsAttr, IpplInfo::myNode(), pxDist_m, pyDist_m, pzDist_m, randGen_m, Options::rngtype, sampleUniformDisk(), Attrib::Distribution::SCALABLE, selectRandomGenerator(), sigmaR_m, tOrZDist_m, xDist_m, and yDist_m.
Referenced by createDistributionFlattop().
|
private |
Definition at line 2214 of file Distribution.cpp.
References avrgpz_m, correlationMatrix_m, cutoffP_m, cutoffR_m, endl(), Attributes::getBool(), IpplInfo::getNodes(), gmsg, Object::itsAttr, IpplInfo::myNode(), pxDist_m, pyDist_m, pzDist_m, randGen_m, Attrib::Distribution::SCALABLE, sigmaP_m, sigmaR_m, tOrZDist_m, xDist_m, and yDist_m.
Referenced by createDistributionGauss().
|
private |
Definition at line 2500 of file Distribution.cpp.
References cutoffR_m, Attrib::Distribution::FTOSCAMPLITUDE, Attrib::Distribution::FTOSCPERIODS, Attributes::getBool(), IpplInfo::getNodes(), Attributes::getReal(), Object::itsAttr, IpplInfo::myNode(), pzDist_m, randGen_m, Options::rngtype, Attrib::Distribution::SCALABLE, selectRandomGenerator(), sigmaTFall_m, sigmaTRise_m, tOrZDist_m, tPulseLengthFWHM_m, and Physics::two_pi.
Referenced by createDistributionGauss(), generateFlattopLaserProfile(), and generateFlattopT().
|
private |
Definition at line 2370 of file Distribution.cpp.
References correlationMatrix_m, RealDiracMatrix::diagonalize(), E_m, Util::getBetaGamma(), Attributes::getBool(), IpplInfo::getNodes(), inputMoUnits_m, Object::itsAttr, IpplInfo::myNode(), NONE, pxDist_m, pyDist_m, pzDist_m, randGen_m, Attrib::Distribution::SCALABLE, sigmaP_m, sigmaR_m, tOrZDist_m, xDist_m, and yDist_m.
Referenced by createMatchedGaussDistribution().
|
private |
Definition at line 2642 of file Distribution.cpp.
References correlationMatrix_m, cutoffP_m, cutoffR_m, Attributes::getBool(), IpplInfo::getNodes(), Object::itsAttr, IpplInfo::myNode(), pxDist_m, pyDist_m, randGen_m, Attrib::Distribution::SCALABLE, sigmaP_m, sigmaR_m, xDist_m, and yDist_m.
Referenced by createDistributionGauss().
|
inline |
Definition at line 501 of file Distribution.h.
References pmean_m.
|
inherited |
Return the object's base type object.
Definition at line 303 of file Object.cpp.
References itsParent, and Object().
|
private |
Definition at line 2861 of file Distribution.cpp.
References pxDist_m.
|
private |
Definition at line 2869 of file Distribution.cpp.
References pyDist_m.
|
private |
Definition at line 2877 of file Distribution.cpp.
References pzDist_m.
|
virtualinherited |
Return the object category as a string.
Implements Object.
Definition at line 29 of file Definition.cpp.
| double Distribution::getEmissionDeltaT | ( | ) |
Definition at line 2845 of file Distribution.cpp.
References numberOfSampleBins_m, and tBin_m.
| double Distribution::getEmissionTimeShift | ( | ) | const |
Definition at line 4120 of file Distribution.cpp.
References emitting_m, Attributes::getReal(), Object::itsAttr, and Attrib::Distribution::OFFSETT.
| double Distribution::getEnergyBinDeltaT | ( | ) |
Definition at line 2849 of file Distribution.cpp.
References tBin_m.
| bool Distribution::getIfDistEmitting | ( | ) |
Definition at line 2803 of file Distribution.cpp.
References emitting_m.
| int Distribution::getLastEmittedEnergyBin | ( | ) |
Definition at line 2807 of file Distribution.cpp.
References currentEnergyBin_m.
| double Distribution::getMaxTOrZ | ( | ) |
Definition at line 2811 of file Distribution.cpp.
References reduce(), and tOrZDist_m.
Referenced by createOpalT().
| double Distribution::getMinTOrZ | ( | ) |
Definition at line 2824 of file Distribution.cpp.
References reduce(), and tOrZDist_m.
Referenced by createOpalT().
| size_t Distribution::getNumberOfEmissionSteps | ( | ) |
Definition at line 2837 of file Distribution.cpp.
References numberOfEnergyBins_m, and numberOfSampleBins_m.
| int Distribution::getNumberOfEnergyBins | ( | ) |
Definition at line 2841 of file Distribution.cpp.
References numberOfEnergyBins_m.
|
private |
Definition at line 1004 of file Distribution.cpp.
References Attrib::Distribution::FNAME, Attributes::getString(), Object::itsAttr, IpplInfo::myNode(), and reduce().
Referenced by calcPartPerDist(), and createDistributionFromFile().
| size_t Distribution::getNumOfLocalParticlesToCreate | ( | size_t | n | ) |
Calculate the local number of particles evenly and adjust node 0 such that n is matched exactly.
| n | total number of particles |
Definition at line 227 of file Distribution.cpp.
References IpplInfo::getNodes(), and IpplInfo::myNode().
Referenced by create().
|
inherited |
Return object name.
Definition at line 310 of file Object.cpp.
References itsName.
Referenced by Macro::clone(), OpalOffset::OpalLocalCartesianOffset::clone(), OpalVariableRFCavity::clone(), OpalVariableRFCavityFringeField::clone(), OpalData::create(), OpalData::define(), Sequence::findDriftLength(), ValueDefinition::getBool(), ValueDefinition::getBoolComponent(), ValueDefinition::getReal(), ValueDefinition::getRealComponent(), ValueDefinition::getString(), ValueDefinition::getStringComponent(), ParticleMatterInteraction::initParticleMatterInteractionHandler(), OpalWake::initWakefunction(), List::list(), LineTemplate::makeInstance(), makeInstance(), SequenceTemplate::makeInstance(), parse(), SequenceParser::parsePosition(), Beam::print(), BoolConstant::print(), Line::print(), print(), OpalElement::print(), OpalFilter::print(), OpalTrimCoil::print(), OpalWake::print(), ParticleMatterInteraction::print(), RealConstant::print(), RealVariable::print(), RealVector::print(), Sequence::print(), StringConstant::print(), BoundaryGeometry::printInfo(), FieldSolver::printInfo(), registerOwnership(), OpalElement::registerOwnership(), Line::replace(), Sequence::replace(), OpalScalingFFAMagnet::setupDefaultEndField(), Beam::update(), BoundaryGeometry::update(), OpalAsymmetricEnge::update(), OpalCavity::update(), OpalDrift::update(), OpalECollimator::update(), OpalEnge::update(), OpalFilter::update(), OpalFlexibleCollimator::update(), OpalOffset::OpalGlobalCartesianOffset::update(), OpalOffset::OpalGlobalCylindricalOffset::update(), OpalOffset::OpalLocalCartesianOffset::update(), OpalOffset::OpalLocalCylindricalOffset::update(), OpalPepperPot::update(), OpalPolynomialTimeDependence::update(), OpalProbe::update(), OpalRBend3D::update(), OpalRBend::update(), OpalRCollimator::update(), OpalSBend::update(), OpalSeptum::update(), OpalSinusoidalTimeDependence::update(), OpalSlit::update(), OpalSplineTimeDependence::update(), OpalTravelingWave::update(), OpalTrimCoil::update(), OpalWake::update(), ParticleMatterInteraction::update(), and Distribution::writeOutFileHeader().
|
inherited |
Return parent pointer.
Definition at line 315 of file Object.cpp.
References itsParent, and Object().
Referenced by OpalData::erase(), print(), OpalElement::print(), registerOwnership(), and OpalElement::registerOwnership().
|
inline |
Definition at line 511 of file Distribution.h.
References totalNumberEmittedParticles_m, and totalNumberParticles_m.
| double Distribution::getTEmission | ( | ) |
Definition at line 502 of file Distribution.cpp.
References a, ASTRAFLATTOPTH, Attrib::Legacy::Distribution::CUTOFF, cutoff_m, distrTypeT_m, Attributes::getReal(), GUNGAUSSFLATTOPTH, Object::itsAttr, setDistType(), sigmaFall_m, sigmaRise_m, tEmission_m, Attrib::Distribution::TFALL, tFall_m, Attrib::Distribution::TPULSEFWHM, tPulseLengthFWHM_m, Attrib::Distribution::TRISE, and tRise_m.
|
private |
Definition at line 2873 of file Distribution.cpp.
References tOrZDist_m.
|
inline |
Definition at line 506 of file Distribution.h.
References distrTypeT_m.
|
inline |
Definition at line 516 of file Distribution.h.
References distT_m.
| double Distribution::getWeight | ( | ) |
Definition at line 2853 of file Distribution.cpp.
References Attributes::getReal(), Object::itsAttr, and Attrib::Distribution::WEIGHT.
Referenced by calcPartPerDist().
|
private |
Definition at line 2857 of file Distribution.cpp.
References xDist_m.
|
private |
Definition at line 2865 of file Distribution.cpp.
References yDist_m.
|
inherited |
Increment and return the occurrence counter.
Definition at line 346 of file Object.cpp.
References occurrence.
Referenced by Line::parse(), and Sequence::storeLine().
|
private |
Definition at line 2725 of file Distribution.cpp.
References numberOfEnergyBins_m, PartBunchBase< T, Dim >::setEnergyBins(), PartBunchBase< T, Dim >::setNumBunch(), PartBunchBase< T, Dim >::setTEmission(), and tEmission_m.
Referenced by createOpalCycl(), and createOpalT().
|
private |
Definition at line 2737 of file Distribution.cpp.
References PartBunchBase< T, Dim >::Bf, PartBunchBase< T, Dim >::Bin, PartBunchBase< T, Dim >::boundp(), PartBunchBase< T, Dim >::calcEMean(), PartBunchBase< T, Dim >::create(), PartBunchBase< T, Dim >::Ef, endl(), findEBin(), PartBunchBase< T, Dim >::getChargePerParticle(), PartBunchBase< T, Dim >::getMassPerParticle(), PartBunchBase< T, Dim >::getPType(), Attributes::getRealArray(), gmsg, PartBunchBase< T, Dim >::ID, Attrib::Distribution::ID1, Attrib::Distribution::ID2, PartBunchBase< T, Dim >::iterateEmittedBin(), Object::itsAttr, PartBunchBase< T, Dim >::M, numberOfEnergyBins_m, PartBunchBase< T, Dim >::P, PartBunchBase< T, Dim >::POrigin, PartBunchBase< T, Dim >::PType, pxDist_m, pyDist_m, pzDist_m, PartBunchBase< T, Dim >::Q, PartBunchBase< T, Dim >::R, REGULAR, tOrZDist_m, PartBunchBase< T, Dim >::TriID, writeOutFileInjection(), xDist_m, and yDist_m.
Referenced by createOpalCycl(), and createOpalT().
|
inherited |
True, if [b]this[/b] is a built-in object.
Definition at line 268 of file Object.cpp.
References builtin.
Referenced by OpalData::define(), and OpalData::getVariableNames().
|
inherited |
True, if the [b]modified[/b] flag is set.
Definition at line 289 of file Object.cpp.
References modified.
|
inherited |
True, if [b]this[/b] is flagged by setFlag(true).
Definition at line 299 of file Object.cpp.
References flagged.
|
virtualinherited |
Shared flag.
Definition at line 273 of file Object.cpp.
References sharedFlag.
Referenced by Sequence::print().
|
inherited |
Test for tree membership.
Definition at line 320 of file Object.cpp.
References Object().
Referenced by Selector::handleElement(), and OpalParser::parseAssign().
|
virtualinherited |
Macro handler function.
Reimplemented in LineTemplate, MacroCmd, and SequenceTemplate.
Definition at line 91 of file Object.cpp.
References getOpalName(), and Object().
Referenced by OpalParser::parseDefine(), Line::parseList(), OpalParser::parseMacro(), and SequenceParser::parseMember().
|
virtualinherited |
Macro handler function.
Reimplemented in Line, LineTemplate, MacroCmd, Sequence, and SequenceTemplate.
Definition at line 84 of file Object.cpp.
References name, and Object().
Referenced by OpalParser::parseMacro().
|
inherited |
|
privatedelete |
|
virtualinherited |
Parse the object.
Reimplemented in Call, Echo, Help, Line, OpalElement, PSystem, Sequence, System, Title, and Value.
Definition at line 97 of file Object.cpp.
References Statement::delimiter(), findAttribute(), getOpalName(), name, Expressions::parseDelimiter(), Expressions::parseRealConst(), and Expressions::parseString().
Referenced by Sequence::parse(), OpalParser::parseAction(), OpalParser::parseDefine(), and SequenceTemplate::parseTemplate().
|
virtualinherited |
Parser for single-attribute commands.
Definition at line 129 of file Object.cpp.
References Statement::delimiter(), findAttribute(), Statement::mark(), name, and Statement::word().
Referenced by Call::parse(), Echo::parse(), Help::parse(), PSystem::parse(), System::parse(), Title::parse(), and Value::parse().
|
virtualinherited |
Print the object.
Reimplemented in Beam, BoolConstant, DumpEMFields, DumpFields, Line, OpalBend, OpalElement, OpalFilter, OpalMarker, OpalMultipole, OpalMultipoleT, OpalOctupole, OpalOffset::OpalGlobalCartesianOffset, OpalOffset::OpalGlobalCylindricalOffset, OpalOffset::OpalLocalCartesianOffset, OpalOffset::OpalLocalCylindricalOffset, OpalPolynomialTimeDependence, OpalQuadrupole, OpalRBend3D, OpalRingDefinition, OpalSextupole, OpalSinusoidalTimeDependence, OpalSplineTimeDependence, OpalWake, ParticleMatterInteraction, PyOpal::PyOpalGlobalCartesianOffset::OpalGlobalCartesianOffset, PyOpal::PyOpalLocalCartesianOffset::OpalLocalCartesianOffset, RealConstant, RealVariable, RealVector, Sequence, and StringConstant.
Definition at line 161 of file Object.cpp.
References getOpalName(), getParent(), itsAttr, and Object().
Referenced by printValue().
|
private |
Definition at line 2881 of file Distribution.cpp.
References ASTRAFLATTOPTH, BINOMIAL, Options::cZero, distrTypeT_m, endl(), EVOVERC, FLATTOP, FROMFILE, GAUSS, GUNGAUSSFLATTOPTH, inputMoUnits_m, MATCHEDGAUSS, MULTIGAUSS, NONE, printDistBinomial(), printDistFlattop(), printDistFromFile(), printDistGauss(), printDistMatchedGauss(), printDistMultiGauss(), and reduce().
Referenced by printInfo().
|
private |
Definition at line 2934 of file Distribution.cpp.
References correlationMatrix_m, emitting_m, endl(), mBinomial_m, sigmaP_m, and sigmaR_m.
Referenced by printDist().
|
private |
Definition at line 2962 of file Distribution.cpp.
References ASTRAFLATTOPTH, cutoffR_m, distrTypeT_m, emitting_m, endl(), Attrib::Distribution::FTOSCAMPLITUDE, Attrib::Distribution::FTOSCPERIODS, Attributes::getReal(), GUNGAUSSFLATTOPTH, Object::itsAttr, laserImageName_m, laserIntensityCut_m, laserProfile_m, laserProfileFileName_m, sigmaR_m, sigmaTFall_m, sigmaTRise_m, tPulseLengthFWHM_m, and tRise_m.
Referenced by printDist().
|
private |
Definition at line 3057 of file Distribution.cpp.
References endl(), Attrib::Distribution::FNAME, Attributes::getString(), and Object::itsAttr.
Referenced by printDist().
|
private |
Definition at line 3090 of file Distribution.cpp.
References avrgpz_m, correlationMatrix_m, cutoffP_m, cutoffR_m, emitting_m, endl(), Attrib::Distribution::FTOSCAMPLITUDE, Attrib::Distribution::FTOSCPERIODS, Attributes::getReal(), Object::itsAttr, sigmaP_m, sigmaR_m, sigmaTFall_m, sigmaTRise_m, and tPulseLengthFWHM_m.
Referenced by printDist().
|
private |
Definition at line 3065 of file Distribution.cpp.
References correlationMatrix_m, endl(), sigmaP_m, and sigmaR_m.
Referenced by printDist().
|
private |
Definition at line 3027 of file Distribution.cpp.
References cutoffP_m, cutoffR_m, emitting_m, endl(), nPeaks_m, sepPeaks_m, sigmaP_m, and sigmaR_m.
Referenced by printDist().
|
private |
Definition at line 3149 of file Distribution.cpp.
References ASTRA, emissionModel_m, endl(), NONE, NONEQUIL, printEmissionModelAstra(), printEmissionModelNone(), and printEmissionModelNonEquil().
Referenced by printInfo().
|
private |
Definition at line 3172 of file Distribution.cpp.
References Attrib::Distribution::EKIN, endl(), Attributes::getReal(), and Object::itsAttr.
Referenced by printEmissionModel().
|
private |
Definition at line 3179 of file Distribution.cpp.
References Attrib::Distribution::EKIN, endl(), Attributes::getReal(), and Object::itsAttr.
Referenced by printEmissionModel().
|
private |
Definition at line 3186 of file Distribution.cpp.
References cathodeFermiEnergy_m, cathodeTemp_m, cathodeWorkFunc_m, endl(), Physics::kB, and laserEnergy_m.
Referenced by printEmissionModel().
|
private |
Definition at line 3194 of file Distribution.cpp.
References endl(), energyBinHist_m, numberOfEnergyBins_m, numberOfSampleBins_m, and sum().
|
virtualinherited |
Print help.
Definition at line 201 of file Object.cpp.
References endl(), gmsg, itsAttr, itsHelp, and name.
Referenced by Help::execute(), and opalMain().
Definition at line 546 of file Distribution.cpp.
References addedDistributions_m, emitting_m, endl(), Attributes::getBool(), OpalData::getInstance(), Object::itsAttr, numberOfEnergyBins_m, numberOfSampleBins_m, outFilename_m, particlesPerDist_m, printDist(), printEmissionModel(), tBin_m, tEmission_m, and Attrib::Distribution::WRITETOFILE.
Referenced by operator<<().
|
inlinevirtualinherited |
Reimplemented in BoolConstant, RealConstant, RealVariable, RealVector, and StringConstant.
Definition at line 280 of file Object.h.
References print().
| bool Distribution::Rebin | ( | ) |
Definition at line 3210 of file Distribution.cpp.
References emitting_m, and numberOfEnergyBins_m.
|
private |
Definition at line 3223 of file Distribution.cpp.
References Options::cZero, distrTypeT_m, FROMFILE, IpplInfo::myNode(), pxDist_m, pyDist_m, pzDist_m, reduce(), tOrZDist_m, xDist_m, and yDist_m.
Referenced by create().
|
inherited |
Definition at line 191 of file Object.cpp.
References AttributeHandler::addAttributeOwner(), end(), getOpalName(), getParent(), itsAttr, and name.
Referenced by Beam::Beam(), BoolConstant::BoolConstant(), BoundaryGeometry::BoundaryGeometry(), Call::Call(), Constraint::Constraint(), DumpEMFields::DumpEMFields(), DumpFields::DumpFields(), DVar::DVar(), Echo::Echo(), FieldSolver::FieldSolver(), Help::Help(), Line::Line(), List::List(), Objective::Objective(), OpalFilter::OpalFilter(), OpalSample::OpalSample(), OpalTrimCoil::OpalTrimCoil(), OpalWake::OpalWake(), OptimizeCmd::OptimizeCmd(), Option::Option(), ParticleMatterInteraction::ParticleMatterInteraction(), PSystem::PSystem(), RealConstant::RealConstant(), RealVariable::RealVariable(), RealVector::RealVector(), SampleCmd::SampleCmd(), Select::Select(), Sequence::Sequence(), Distribution::setAttributes(), StringConstant::StringConstant(), System::System(), Title::Title(), TrackCmd::TrackCmd(), TrackRun::TrackRun(), and Value::Value().
|
inherited |
Register a reference to this object.
Definition at line 182 of file Object.cpp.
References references.
|
inlineinherited |
Replace references.
Reimplemented in Line, and Sequence.
Definition at line 258 of file Object.cpp.
References Object().
|
private |
Definition at line 1770 of file Distribution.cpp.
References randGen_m.
Referenced by createDistributionMultiGauss(), generateFlattopT(), and generateFlattopZ().
|
private |
Definition at line 3252 of file Distribution.cpp.
References emitting_m, Attributes::getReal(), Object::itsAttr, pxDist_m, Attrib::Distribution::PXMULT, pyDist_m, Attrib::Distribution::PYMULT, pzDist_m, Attrib::Distribution::PZMULT, Attrib::Distribution::TMULT, tOrZDist_m, xDist_m, Attrib::Distribution::XMULT, yDist_m, Attrib::Distribution::YMULT, and Attrib::Distribution::ZMULT.
Referenced by create().
|
private |
Select and allocate gsl random number generator.
Definition at line 3274 of file Distribution.cpp.
References endl(), INFOMSG, and Options::rngtype.
Referenced by createDistributionMultiGauss(), generateFlattopT(), generateFlattopZ(), and generateLongFlattopT().
|
private |
Definition at line 3293 of file Distribution.cpp.
References Attrib::Distribution::CATHTEMP, Attrib::Distribution::CORRT, Attrib::Distribution::CORRX, Attrib::Distribution::CORRY, Attrib::Distribution::CORRZ, Attrib::Legacy::Distribution::CUTOFF, Attrib::Distribution::CUTOFFLONG, Attrib::Distribution::CUTOFFPX, Attrib::Distribution::CUTOFFPY, Attrib::Distribution::CUTOFFPZ, Attrib::Distribution::CUTOFFR, Attrib::Distribution::CUTOFFX, Attrib::Distribution::CUTOFFY, Attrib::Distribution::DENERGY, Attrib::Legacy::Distribution::DISTRIBUTION, Attrib::Distribution::EKIN, Attrib::Distribution::ELASER, Attrib::Distribution::EMISSIONMODEL, Attrib::Distribution::EMISSIONSTEPS, Attrib::Distribution::EMITTED, Attrib::Distribution::ET, Attrib::Distribution::EX, Attrib::Distribution::EY, Attrib::Distribution::FE, Attrib::Distribution::FLIPX, Attrib::Distribution::FLIPY, Attrib::Distribution::FNAME, Attrib::Distribution::FTOSCAMPLITUDE, Attrib::Distribution::FTOSCPERIODS, Attrib::Distribution::ID1, Attrib::Distribution::ID2, Attrib::Distribution::IMAGENAME, Attrib::Distribution::INPUTMOUNITS, Attrib::Distribution::INTENSITYCUT, Object::itsAttr, Attrib::Distribution::LASERPROFFN, Attrib::Distribution::LINE, Attributes::makeBool(), Attributes::makePredefinedString(), Attributes::makeReal(), Attributes::makeRealArray(), Attributes::makeString(), Attrib::Distribution::MAXSTEPSCO, Attrib::Distribution::MAXSTEPSSI, Attrib::Distribution::MT, Attrib::Distribution::MX, Attrib::Distribution::MY, Attrib::Distribution::MZ, Attrib::Distribution::NBIN, Attrib::Distribution::NPEAKS, Attrib::Distribution::NSECTORS, Attrib::Distribution::NSTEPS, Attrib::Distribution::OFFSETP, Attrib::Distribution::OFFSETPX, Attrib::Distribution::OFFSETPY, Attrib::Distribution::OFFSETPZ, Attrib::Distribution::OFFSETT, Attrib::Distribution::OFFSETX, Attrib::Distribution::OFFSETY, Attrib::Distribution::OFFSETZ, Attrib::Distribution::ORDERMAPS, Attrib::Legacy::Distribution::PT, Attrib::Distribution::PXMULT, Attrib::Distribution::PYMULT, Attrib::Distribution::PZMULT, Attrib::Distribution::R, Attrib::Distribution::R51, Attrib::Distribution::R52, Attrib::Distribution::R61, Attrib::Distribution::R62, Object::registerOwnership(), Attrib::Distribution::RESIDUUM, Attrib::Distribution::RGUESS, Attrib::Distribution::ROTATE180, Attrib::Distribution::ROTATE270, Attrib::Distribution::ROTATE90, Attrib::Legacy::Distribution::SBIN, Attrib::Distribution::SCALABLE, Attrib::Distribution::SECTOR, Attrib::Distribution::SEPPEAKS, Attrib::Legacy::Distribution::SIGMAPT, Attrib::Distribution::SIGMAPX, Attrib::Distribution::SIGMAPY, Attrib::Distribution::SIGMAPZ, Attrib::Distribution::SIGMAR, Attrib::Distribution::SIGMAT, Attrib::Distribution::SIGMAX, Attrib::Distribution::SIGMAY, Attrib::Distribution::SIGMAZ, AttributeHandler::STATEMENT, Attrib::Legacy::Distribution::T, Attrib::Distribution::TFALL, Attrib::Distribution::TMULT, Attrib::Distribution::TPULSEFWHM, Attrib::Distribution::TRISE, Attrib::Distribution::TYPE, Attrib::Distribution::W, Attrib::Distribution::WEIGHT, Attrib::Distribution::WRITETOFILE, Attrib::Distribution::XMULT, Attrib::Distribution::YMULT, and Attrib::Distribution::ZMULT.
Referenced by Distribution().
|
inherited |
Set/reset the [b]modified[/b] flag.
Definition at line 283 of file Object.cpp.
References modified.
Referenced by OpalData::define(), OpalData::makeDirty(), and RealVariable::RealVariable().
|
private |
Definition at line 3712 of file Distribution.cpp.
References correlationMatrix_m, Attrib::Distribution::CORRT, Attrib::Distribution::CORRX, Attrib::Distribution::CORRY, Attrib::Distribution::CORRZ, Attrib::Distribution::CUTOFFLONG, cutoffP_m, Attrib::Distribution::CUTOFFPX, Attrib::Distribution::CUTOFFPY, Attrib::Distribution::CUTOFFPZ, cutoffR_m, Attrib::Distribution::CUTOFFX, Attrib::Distribution::CUTOFFY, emitting_m, Attributes::getReal(), Attributes::getRealArray(), Object::itsAttr, mBinomial_m, Attrib::Distribution::MT, Attrib::Distribution::MX, Attrib::Distribution::MY, Attrib::Distribution::MZ, Attrib::Distribution::R, Attrib::Distribution::R51, Attrib::Distribution::R52, Attrib::Distribution::R61, Attrib::Distribution::R62, setSigmaP_m(), and setSigmaR_m().
Referenced by createDistributionBinomial().
|
private |
Definition at line 3763 of file Distribution.cpp.
References ASTRAFLATTOPTH, correlationMatrix_m, Attrib::Distribution::CORRT, Attrib::Distribution::CORRX, Attrib::Distribution::CORRY, Attrib::Distribution::CORRZ, Attrib::Distribution::CUTOFFLONG, cutoffR_m, Attrib::Distribution::CUTOFFX, Attrib::Distribution::CUTOFFY, distrTypeT_m, emitting_m, Attrib::Distribution::FLIPX, LaserProfile::FLIPX, Attrib::Distribution::FLIPY, LaserProfile::FLIPY, Attributes::getBool(), Attributes::getReal(), Attributes::getString(), Attrib::Distribution::IMAGENAME, Attrib::Distribution::INTENSITYCUT, Object::itsAttr, laserImageName_m, laserIntensityCut_m, Attrib::Distribution::LASERPROFFN, laserProfile_m, laserProfileFileName_m, Attrib::Distribution::ROTATE180, LaserProfile::ROTATE180, Attrib::Distribution::ROTATE270, LaserProfile::ROTATE270, Attrib::Distribution::ROTATE90, LaserProfile::ROTATE90, setSigmaP_m(), setSigmaR_m(), sigmaR_m, Attrib::Distribution::SIGMAT, sigmaTFall_m, sigmaTRise_m, Attrib::Distribution::TFALL, Attrib::Distribution::TPULSEFWHM, tPulseLengthFWHM_m, Attrib::Distribution::TRISE, and tRise_m.
Referenced by createDistributionFlattop().
|
private |
Definition at line 3855 of file Distribution.cpp.
References correlationMatrix_m, Attrib::Distribution::CORRT, Attrib::Distribution::CORRX, Attrib::Distribution::CORRY, Attrib::Distribution::CORRZ, Attrib::Distribution::CUTOFFLONG, cutoffP_m, Attrib::Distribution::CUTOFFPX, Attrib::Distribution::CUTOFFPY, Attrib::Distribution::CUTOFFPZ, Attrib::Distribution::CUTOFFR, cutoffR_m, Attrib::Distribution::CUTOFFX, Attrib::Distribution::CUTOFFY, distrTypeT_m, emitting_m, endl(), Attributes::getReal(), Attributes::getRealArray(), gmsg, Object::itsAttr, MATCHEDGAUSS, Attrib::Distribution::R, Attrib::Distribution::R51, Attrib::Distribution::R52, Attrib::Distribution::R61, Attrib::Distribution::R62, setSigmaP_m(), setSigmaR_m(), Attrib::Distribution::SIGMAR, sigmaR_m, Attrib::Distribution::SIGMAT, sigmaTFall_m, sigmaTRise_m, SMALLESTCUTOFF, Attrib::Distribution::TFALL, Attrib::Distribution::TPULSEFWHM, tPulseLengthFWHM_m, and Attrib::Distribution::TRISE.
Referenced by createDistributionGauss().
|
private |
Definition at line 3839 of file Distribution.cpp.
References Attrib::Distribution::CUTOFFLONG, cutoffP_m, Attrib::Distribution::CUTOFFPX, Attrib::Distribution::CUTOFFPY, Attrib::Distribution::CUTOFFPZ, cutoffR_m, emitting_m, Attributes::getReal(), Object::itsAttr, Attrib::Distribution::NPEAKS, nPeaks_m, Attrib::Distribution::SEPPEAKS, sepPeaks_m, setSigmaP_m(), and setSigmaR_m().
Referenced by createDistributionMultiGauss().
| void Distribution::setDistToEmitted | ( | bool | emitted | ) |
Definition at line 3599 of file Distribution.cpp.
References emitting_m.
| void Distribution::setDistType | ( | ) |
Definition at line 3603 of file Distribution.cpp.
References ASTRAFLATTOPTH, BINOMIAL, Attrib::Legacy::Distribution::DISTRIBUTION, distrTypeT_m, distT_m, FLATTOP, FROMFILE, GAUSS, Attributes::getString(), GUNGAUSSFLATTOPTH, Object::itsAttr, MATCHEDGAUSS, MULTIGAUSS, NODIST, and Attrib::Distribution::TYPE.
Referenced by createOpalCycl(), createOpalT(), and getTEmission().
|
private |
Definition at line 3664 of file Distribution.cpp.
References addedDistributions_m, ASTRAFLATTOPTH, cutoffR_m, distrTypeT_m, FLATTOP, GAUSS, GUNGAUSSFLATTOPTH, numberOfEnergyBins_m, percentTEmission_m, sigmaTFall_m, sigmaTRise_m, tBin_m, tEmission_m, and tPulseLengthFWHM_m.
Referenced by createOpalT().
|
inherited |
Flag/unflag this object, e. g. to control output of objects for.
Definition at line 294 of file Object.cpp.
References flagged.
|
inline |
Definition at line 241 of file Distribution.h.
References numberOfDistributions_m.
Referenced by TrackRun::setDistributionParallelT().
|
inherited |
Set object name.
Definition at line 331 of file Object.cpp.
Referenced by Beam::update(), BoundaryGeometry::update(), OpalFilter::update(), OpalTrimCoil::update(), OpalWake::update(), and ParticleMatterInteraction::update().
|
inherited |
Set parent object.
Definition at line 336 of file Object.cpp.
References itsParent, and Object().
Referenced by OpalData::erase().
|
virtualinherited |
Set/reset shared flag.
Reimplemented in Element.
Definition at line 278 of file Object.cpp.
References sharedFlag.
Referenced by OpalParser::parseDefine(), and Element::setShared().
| void Distribution::setSigmaP_m | ( | double | massIneV | ) |
Definition at line 3644 of file Distribution.cpp.
References Util::convertMomentumEVoverCToBetaGamma(), endl(), EVOVERC, Attributes::getReal(), inputMoUnits_m, Object::itsAttr, sigmaP_m, Attrib::Legacy::Distribution::SIGMAPT, Attrib::Distribution::SIGMAPX, Attrib::Distribution::SIGMAPY, Attrib::Distribution::SIGMAPZ, and WARNMSG.
Referenced by setDistParametersBinomial(), setDistParametersFlattop(), setDistParametersGauss(), and setDistParametersMultiGauss().
| void Distribution::setSigmaR_m | ( | ) |
Definition at line 3630 of file Distribution.cpp.
References Attributes::getReal(), Object::itsAttr, Attrib::Distribution::SIGMAR, sigmaR_m, Attrib::Distribution::SIGMAT, Attrib::Distribution::SIGMAX, Attrib::Distribution::SIGMAY, and Attrib::Distribution::SIGMAZ.
Referenced by setDistParametersBinomial(), setDistParametersFlattop(), setDistParametersGauss(), and setDistParametersMultiGauss().
|
private |
Definition at line 3958 of file Distribution.cpp.
References ASTRA, ASTRAFLATTOPTH, distrTypeT_m, Attrib::Distribution::EMISSIONMODEL, emissionModel_m, Attributes::getString(), GUNGAUSSFLATTOPTH, Object::itsAttr, NONE, NONEQUIL, setupEmissionModelAstra(), and setupEmissionModelNonEquil().
Referenced by createOpalT().
|
private |
Definition at line 3997 of file Distribution.cpp.
References Attrib::Distribution::EKIN, Util::getBetaGamma(), PartBunchBase< T, Dim >::getM(), Attributes::getReal(), Object::itsAttr, pmean_m, and pTotThermal_m.
Referenced by setupEmissionModel().
|
private |
Definition at line 4004 of file Distribution.cpp.
References Attrib::Distribution::EKIN, Util::getBetaGamma(), PartBunchBase< T, Dim >::getM(), Attributes::getReal(), Object::itsAttr, pmean_m, pTotThermal_m, pzDist_m, and reduce().
Referenced by createOpalT().
|
private |
Definition at line 4017 of file Distribution.cpp.
References cathodeFermiEnergy_m, cathodeTemp_m, cathodeWorkFunc_m, Attrib::Distribution::CATHTEMP, Attrib::Distribution::ELASER, emitEnergyUpperLimit_m, Attrib::Distribution::FE, Attributes::getReal(), Units::GeV2eV, Object::itsAttr, Physics::kB, laserEnergy_m, Physics::m_e, pmean_m, and Attrib::Distribution::W.
Referenced by setupEmissionModel().
|
private |
Definition at line 4035 of file Distribution.cpp.
References emitting_m, energyBinHist_m, numberOfEnergyBins_m, numberOfSampleBins_m, and tEmission_m.
Referenced by createOpalT().
|
private |
Definition at line 4046 of file Distribution.cpp.
References energyBins_m, PartBunchBase< T, Dim >::getM(), PartBunchBase< T, Dim >::getP(), Attributes::getReal(), Object::itsAttr, Attrib::Distribution::NBIN, numberOfEnergyBins_m, Attrib::Legacy::Distribution::PT, and Attrib::Legacy::Distribution::SBIN.
Referenced by createOpalCycl().
| void Distribution::shiftBeam | ( | double & | maxTOrZ, |
| double & | minTOrZ ) |
Definition at line 4071 of file Distribution.cpp.
References addedDistributions_m, ASTRAFLATTOPTH, distrTypeT_m, emitting_m, FLATTOP, FROMFILE, GAUSS, GUNGAUSSFLATTOPTH, reduce(), tEmission_m, and tOrZDist_m.
Referenced by createOpalT().
|
private |
Definition at line 4127 of file Distribution.cpp.
References addedDistributions_m, Util::convertMomentumEVoverCToBetaGamma(), Distribution(), emitting_m, endl(), EVOVERC, Attributes::getReal(), inputMoUnits_m, Object::itsAttr, Attrib::Distribution::OFFSETPX, Attrib::Distribution::OFFSETPY, Attrib::Distribution::OFFSETPZ, Attrib::Distribution::OFFSETX, Attrib::Distribution::OFFSETY, Attrib::Distribution::OFFSETZ, particlesPerDist_m, Attrib::Legacy::Distribution::PT, pxDist_m, pyDist_m, pzDist_m, Attrib::Legacy::Distribution::T, tOrZDist_m, WARNMSG, xDist_m, and yDist_m.
Referenced by createOpalCycl(), and createOpalT().
|
virtualinherited |
|
virtualinherited |
|
inherited |
Unegister a reference to this object.
Definition at line 187 of file Object.cpp.
References references.
|
virtual |
|
private |
Definition at line 4235 of file Distribution.cpp.
References binWrite_m, IpplInfo::Comm, Communicate::COMM_ANY_NODE, endl(), ERRORMSG, Attributes::getBool(), IpplInfo::getComm(), IpplInfo::getNodes(), IPPL_APP_CYCLE, IPPL_APP_TAG2, Object::itsAttr, level1(), IpplInfo::myNode(), outFilename_m, pxWrite_m, pyWrite_m, pzWrite_m, tOrZWrite_m, Attrib::Distribution::WRITETOFILE, xWrite_m, and yWrite_m.
Referenced by emitParticles().
|
private |
Definition at line 4180 of file Distribution.cpp.
References Util::combineFilePath(), emitting_m, endl(), OpalData::getAuxiliaryOutputDirectory(), Attributes::getBool(), OpalData::getInputBasename(), OpalData::getInstance(), Object::getOpalName(), gmsg, Object::itsAttr, IpplInfo::myNode(), numberOfEnergyBins_m, outFilename_m, reduce(), tOrZDist_m, and Attrib::Distribution::WRITETOFILE.
Referenced by createOpalCycl(), and createOpalT().
|
private |
Definition at line 4359 of file Distribution.cpp.
References endl(), findEBin(), Attributes::getBool(), IpplInfo::getNodes(), gmsg, Object::itsAttr, IpplInfo::myNode(), numberOfEnergyBins_m, outFilename_m, pxDist_m, pyDist_m, pzDist_m, reduce(), tOrZDist_m, Attrib::Distribution::WRITETOFILE, xDist_m, and yDist_m.
Referenced by injectBeam().
|
private |
Vector of distributions to be added to this distribution.
Reference data for particle type (charge, mass etc.)
Definition at line 398 of file Distribution.h.
Referenced by addDistributions(), calcPartPerDist(), createOpalT(), createOpalT(), Distribution(), printInfo(), setEmissionTime(), shiftBeam(), and shiftDistCoordinates().
|
private |
Upper limit on emission energy distribution (eV).
Definition at line 435 of file Distribution.h.
Referenced by create(), createOpalT(), and emitParticles().
|
private |
Definition at line 458 of file Distribution.h.
Referenced by adjustPhaseSpace(), checkFileMomentum(), createDistributionMultiGauss(), createOpalT(), Distribution(), Distribution(), generateBinomial(), generateFlattopZ(), generateGaussZ(), and printDistGauss().
|
private |
Definition at line 455 of file Distribution.h.
Referenced by emitParticles(), and writeOutFileEmission().
|
protectedinherited |
Built-in flag.
Definition at line 233 of file Object.h.
Referenced by Beam::Beam(), BoundaryGeometry::BoundaryGeometry(), Distribution::Distribution(), isBuiltin(), Object(), Object(), OpalFilter::OpalFilter(), OpalMarker::OpalMarker(), OpalTrimCoil::OpalTrimCoil(), OpalWake::OpalWake(), ParticleMatterInteraction::ParticleMatterInteraction(), RealConstant::RealConstant(), StringConstant::StringConstant(), and Table::~Table().
|
private |
Laser photon energy (eV).
Definition at line 431 of file Distribution.h.
Referenced by applyEmissModelNonEquil(), Distribution(), Distribution(), emitParticles(), printEmissionModelNonEquil(), and setupEmissionModelNonEquil().
|
private |
Cathode material Fermi energy (eV).
Definition at line 432 of file Distribution.h.
Referenced by applyEmissModelNonEquil(), Distribution(), Distribution(), printEmissionModelNonEquil(), and setupEmissionModelNonEquil().
|
private |
Definition at line 429 of file Distribution.h.
Referenced by Distribution(), Distribution(), emitParticles(), printEmissionModelNonEquil(), and setupEmissionModelNonEquil().
|
private |
Definition at line 470 of file Distribution.h.
Referenced by Distribution(), Distribution(), generateBinomial(), generateGaussZ(), generateMatchedGauss(), generateTransverseGauss(), printDistBinomial(), printDistGauss(), printDistMatchedGauss(), setDistParametersBinomial(), setDistParametersFlattop(), and setDistParametersGauss().
|
private |
Definition at line 411 of file Distribution.h.
Referenced by Distribution(), Distribution(), and emitParticles().
|
private |
Definition at line 412 of file Distribution.h.
Referenced by checkEmissionParameters(), Distribution(), Distribution(), emitParticles(), and getLastEmittedEnergyBin().
|
private |
Definition at line 413 of file Distribution.h.
Referenced by checkEmissionParameters(), Distribution(), Distribution(), and emitParticles().
|
private |
Definition at line 491 of file Distribution.h.
Referenced by Distribution(), and getTEmission().
|
private |
Definition at line 468 of file Distribution.h.
Referenced by createDistributionMultiGauss(), Distribution(), generateGaussZ(), generateTransverseGauss(), printDistGauss(), printDistMultiGauss(), setDistParametersBinomial(), setDistParametersGauss(), and setDistParametersMultiGauss().
|
private |
Definition at line 467 of file Distribution.h.
Referenced by createDistributionMultiGauss(), Distribution(), generateGaussZ(), generateLongFlattopT(), generateTransverseGauss(), printDistFlattop(), printDistGauss(), printDistMultiGauss(), setDistParametersBinomial(), setDistParametersFlattop(), setDistParametersGauss(), setDistParametersMultiGauss(), and setEmissionTime().
|
private |
Distribution type strings.
Definition at line 387 of file Distribution.h.
Referenced by adjustPhaseSpace(), calcPartPerDist(), checkIfEmitted(), create(), createOpalT(), Distribution(), Distribution(), generateFlattopLaserProfile(), generateFlattopT(), getTEmission(), getType(), printDist(), printDistFlattop(), reflectDistribution(), setDistParametersFlattop(), setDistParametersGauss(), setDistType(), setEmissionTime(), setupEmissionModel(), and shiftBeam().
|
private |
Definition at line 386 of file Distribution.h.
Referenced by Distribution(), getTypeofDistribution(), and setDistType().
|
private |
Definition at line 484 of file Distribution.h.
Referenced by createMatchedGaussDistribution(), createOpalCycl(), Distribution(), Distribution(), and generateMatchedGauss().
|
private |
Emission Model.
Definition at line 402 of file Distribution.h.
Referenced by applyEmissionModel(), create(), createOpalT(), Distribution(), Distribution(), printEmissionModel(), and setupEmissionModel().
|
private |
Cathode temperature (K).
Definition at line 433 of file Distribution.h.
Referenced by applyEmissModelNonEquil(), Distribution(), Distribution(), and setupEmissionModelNonEquil().
|
private |
Definition at line 391 of file Distribution.h.
Referenced by adjustPhaseSpace(), checkIfEmitted(), create(), createDistributionFlattop(), createDistributionGauss(), createDistributionMultiGauss(), createOpalCycl(), createOpalT(), Distribution(), Distribution(), emitParticles(), getEmissionTimeShift(), getIfDistEmitting(), printDistBinomial(), printDistFlattop(), printDistGauss(), printDistMultiGauss(), printInfo(), Rebin(), scaleDistCoordinates(), setDistParametersBinomial(), setDistParametersFlattop(), setDistParametersGauss(), setDistParametersMultiGauss(), setDistToEmitted(), setupEnergyBins(), shiftBeam(), shiftDistCoordinates(), and writeOutFileHeader().
|
private |
Distribution energy bins.
Definition at line 419 of file Distribution.h.
Referenced by Distribution(), Distribution(), fillEBinHistogram(), findEBin(), printEnergyBins(), setupEnergyBins(), and ~Distribution().
|
private |
Number of samples to use per energy bin when emitting beam.
Definition at line 418 of file Distribution.h.
Referenced by createOpalCycl(), Distribution(), Distribution(), doRestartOpalCycl(), fillParticleBins(), setupParticleBins(), and ~Distribution().
|
protectedinherited |
|
private |
Definition at line 483 of file Distribution.h.
Referenced by createMatchedGaussDistribution(), createOpalCycl(), Distribution(), and Distribution().
|
private |
Definition at line 461 of file Distribution.h.
Referenced by adjustPhaseSpace(), chooseInputMomentumUnits(), createDistributionFromFile(), createOpalT(), Distribution(), Distribution(), generateMatchedGauss(), printDist(), setSigmaP_m(), and shiftDistCoordinates().
|
inherited |
The object attributes.
Definition at line 216 of file Object.h.
Referenced by Distribution::adjustPhaseSpace(), Beam::Beam(), BoolConstant::BoolConstant(), BoundaryGeometry::BoundaryGeometry(), BoundaryGeometry::BoundaryGeometry(), DumpEMFields::buildGrid(), DumpFields::buildGrid(), Distribution::calcPartPerDist(), Call::Call(), Distribution::checkEmissionParameters(), Distribution::checkIfEmitted(), Distribution::chooseInputMomentumUnits(), Constraint::Constraint(), copyAttributes(), Distribution::create(), Distribution::createDistributionFromFile(), Distribution::createDistributionMultiGauss(), Distribution::createMatchedGaussDistribution(), Distribution::createOpalT(), DumpEMFields::DumpEMFields(), DumpFields::DumpFields(), DVar::DVar(), Echo::Echo(), Beam::execute(), Call::execute(), Echo::execute(), Help::execute(), List::execute(), OptimizeCmd::execute(), Option::execute(), PSystem::execute(), SampleCmd::execute(), Select::execute(), System::execute(), Title::execute(), TrackCmd::execute(), TrackRun::execute(), Value::execute(), FieldSolver::FieldSolver(), findAttribute(), findAttribute(), Distribution::generateAstraFlattopT(), Distribution::generateBinomial(), Distribution::generateFlattopLaserProfile(), Distribution::generateFlattopT(), Distribution::generateFlattopZ(), Distribution::generateGaussZ(), Distribution::generateLongFlattopT(), Distribution::generateMatchedGauss(), Distribution::generateTransverseGauss(), BoundaryGeometry::getA(), OpalElement::getApert(), BoundaryGeometry::getB(), BoolConstant::getBool(), BoundaryGeometry::getC(), Beam::getCharge(), Beam::getCurrent(), TrackCmd::getDT(), TrackCmd::getDTAU(), TrackCmd::getDTSCINIT(), Distribution::getEmissionTimeShift(), Constraint::getExpression(), Objective::getExpression(), BoundaryGeometry::getFilename(), Beam::getFrequency(), ParticleMatterInteraction::getInteractionType(), BoundaryGeometry::getL1(), BoundaryGeometry::getL2(), BoundaryGeometry::getLength(), Line::getLength(), OpalElement::getLength(), Sequence::getLength(), DVar::getLowerBound(), Beam::getMass(), TrackCmd::getMaxSteps(), FieldSolver::getMT(), FieldSolver::getMX(), FieldSolver::getMY(), OpalWake::getNumberOfBins(), Beam::getNumberOfParticles(), Distribution::getNumberOfParticlesInFile(), Beam::getParticleName(), RealConstant::getReal(), RealVariable::getReal(), RealVector::getRealComponent(), Sequence::getReference(), BoundaryGeometry::getS(), TrackCmd::getStepsPerTurn(), StringConstant::getString(), TrackCmd::getT0(), FieldSolver::getTagging_m(), Distribution::getTEmission(), TrackCmd::getTimeIntegrator(), BoundaryGeometry::getTopology(), OpalTrimCoil::getTrimCoilType(), FieldSolver::getType(), DVar::getUpperBound(), DVar::getVariable(), OpalSample::getVariable(), Distribution::getWeight(), TrackCmd::getZStart(), TrackCmd::getZStop(), FieldSolver::hasPeriodicZ(), Help::Help(), FieldSolver::initAmrObject_m(), FieldSolver::initAmrSolver_m(), FieldSolver::initCartesianFields(), BoundaryGeometry::initialize(), OpalSample::initialize(), OpalFilter::initOpalFilter(), OpalTrimCoil::initOpalTrimCoil(), ParticleMatterInteraction::initParticleMatterInteractionHandler(), FieldSolver::initSolver(), OpalWake::initWakefunction(), Distribution::injectBeam(), Line::Line(), List::List(), List::list(), Object(), Object(), Objective::Objective(), OpalAsymmetricEnge::OpalAsymmetricEnge(), OpalBend::OpalBend(), OpalCavity::OpalCavity(), OpalCCollimator::OpalCCollimator(), OpalCyclotron::OpalCyclotron(), OpalDegrader::OpalDegrader(), OpalDrift::OpalDrift(), OpalECollimator::OpalECollimator(), OpalElement::OpalElement(), OpalEnge::OpalEnge(), OpalFilter::OpalFilter(), OpalFlexibleCollimator::OpalFlexibleCollimator(), OpalOffset::OpalGlobalCartesianOffset::OpalGlobalCartesianOffset(), OpalOffset::OpalGlobalCylindricalOffset::OpalGlobalCylindricalOffset(), OpalHKicker::OpalHKicker(), OpalKicker::OpalKicker(), OpalOffset::OpalLocalCartesianOffset::OpalLocalCartesianOffset(), OpalOffset::OpalLocalCylindricalOffset::OpalLocalCylindricalOffset(), OpalMultipole::OpalMultipole(), OpalMultipoleT::OpalMultipoleT(), OpalOctupole::OpalOctupole(), OpalOutputPlane::OpalOutputPlane(), OpalPepperPot::OpalPepperPot(), OpalPolynomialTimeDependence::OpalPolynomialTimeDependence(), OpalProbe::OpalProbe(), OpalQuadrupole::OpalQuadrupole(), OpalRBend3D::OpalRBend3D(), OpalRCollimator::OpalRCollimator(), OpalRingDefinition::OpalRingDefinition(), OpalSample::OpalSample(), OpalSBend3D::OpalSBend3D(), OpalScalingFFAMagnet::OpalScalingFFAMagnet(), OpalSeptum::OpalSeptum(), OpalSextupole::OpalSextupole(), OpalSinusoidalTimeDependence::OpalSinusoidalTimeDependence(), OpalSlit::OpalSlit(), OpalSolenoid::OpalSolenoid(), OpalSource::OpalSource(), OpalSplineTimeDependence::OpalSplineTimeDependence(), OpalStripper::OpalStripper(), OpalTravelingWave::OpalTravelingWave(), OpalTrimCoil::OpalTrimCoil(), OpalUndulator::OpalUndulator(), OpalVacuum::OpalVacuum(), OpalVariableRFCavity::OpalVariableRFCavity(), OpalVariableRFCavityFringeField::OpalVariableRFCavityFringeField(), OpalVerticalFFAMagnet::OpalVerticalFFAMagnet(), OpalVKicker::OpalVKicker(), OpalWake::OpalWake(), OptimizeCmd::OptimizeCmd(), Option::Option(), Option::Option(), Line::parse(), Sequence::parse(), DumpEMFields::parseCoordinateSystem(), ParticleMatterInteraction::ParticleMatterInteraction(), Beam::print(), BoolConstant::print(), DumpEMFields::print(), DumpFields::print(), print(), OpalFilter::print(), OpalTrimCoil::print(), OpalWake::print(), ParticleMatterInteraction::print(), RealConstant::print(), RealVariable::print(), RealVector::print(), Sequence::print(), StringConstant::print(), TrackRun::print(), Distribution::printDistFlattop(), Distribution::printDistFromFile(), Distribution::printDistGauss(), Distribution::printEmissionModelAstra(), Distribution::printEmissionModelNone(), printHelp(), BoundaryGeometry::printInfo(), Distribution::printInfo(), FieldSolver::printInfo(), BoolConstant::printValue(), RealConstant::printValue(), RealVariable::printValue(), RealVector::printValue(), StringConstant::printValue(), PSystem::PSystem(), RealConstant::RealConstant(), RealConstant::RealConstant(), RealVariable::RealVariable(), RealVariable::RealVariable(), RealVector::RealVector(), registerOwnership(), OpalElement::registerOwnership(), OptimizeCmd::run(), SampleCmd::SampleCmd(), Distribution::scaleDistCoordinates(), Select::Select(), Select::select(), Sequence::Sequence(), Distribution::setAttributes(), TrackRun::setBoundaryGeometry(), Distribution::setDistParametersBinomial(), Distribution::setDistParametersFlattop(), Distribution::setDistParametersGauss(), Distribution::setDistParametersMultiGauss(), TrackRun::setDistributionParallelT(), Distribution::setDistType(), FieldSolver::setMT(), FieldSolver::setMX(), FieldSolver::setMY(), TrackRun::setRunMethod(), Distribution::setSigmaP_m(), Distribution::setSigmaR_m(), TrackRun::setupCyclotronTracker(), OpalScalingFFAMagnet::setupDefaultEndField(), Distribution::setupEmissionModel(), Distribution::setupEmissionModelAstra(), Distribution::setupEmissionModelNone(), Distribution::setupEmissionModelNonEquil(), TrackRun::setupFieldsolver(), OpalScalingFFAMagnet::setupNamedEndField(), Distribution::setupParticleBins(), TrackRun::setupThickTracker(), TrackRun::setupTTracker(), Distribution::shiftDistCoordinates(), StringConstant::StringConstant(), StringConstant::StringConstant(), System::System(), Title::Title(), TrackCmd::TrackCmd(), TrackRun::TrackRun(), Beam::update(), OpalAsymmetricEnge::update(), OpalCavity::update(), OpalCCollimator::update(), OpalCyclotron::update(), OpalDegrader::update(), OpalDrift::update(), OpalECollimator::update(), OpalElement::update(), OpalEnge::update(), OpalFlexibleCollimator::update(), OpalHKicker::update(), OpalKicker::update(), OpalMonitor::update(), OpalMultipole::update(), OpalMultipoleT::update(), OpalOctupole::update(), OpalOffset::OpalGlobalCartesianOffset::update(), OpalOffset::OpalGlobalCylindricalOffset::update(), OpalOffset::OpalLocalCartesianOffset::update(), OpalOffset::OpalLocalCylindricalOffset::update(), OpalOutputPlane::update(), OpalPepperPot::update(), OpalPolynomialTimeDependence::update(), OpalProbe::update(), OpalQuadrupole::update(), OpalRBend3D::update(), OpalRBend::update(), OpalRCollimator::update(), OpalRingDefinition::update(), OpalSBend3D::update(), OpalSBend::update(), OpalScalingFFAMagnet::update(), OpalSeptum::update(), OpalSextupole::update(), OpalSinusoidalTimeDependence::update(), OpalSlit::update(), OpalSolenoid::update(), OpalSource::update(), OpalSplineTimeDependence::update(), OpalStripper::update(), OpalTravelingWave::update(), OpalUndulator::update(), OpalVacuum::update(), OpalVariableRFCavity::update(), OpalVariableRFCavityFringeField::update(), OpalVerticalFFAMagnet::update(), OpalVKicker::update(), Option::update(), OpalElement::updateUnknown(), Value::Value(), ValueDefinition::value(), ValueDefinition::value(), Distribution::writeOutFileEmission(), Distribution::writeOutFileHeader(), and Distribution::writeOutFileInjection().
|
privateinherited |
Definition at line 258 of file Object.h.
Referenced by Object(), Object(), and printHelp().
|
privateinherited |
Definition at line 255 of file Object.h.
Referenced by getOpalName(), Object(), Object(), and setOpalName().
|
privateinherited |
Definition at line 252 of file Object.h.
Referenced by getBaseObject(), getParent(), Object(), Object(), and setParent().
|
private |
Cathode material work function (eV).
Definition at line 430 of file Distribution.h.
Referenced by applyEmissModelNonEquil(), Distribution(), Distribution(), emitParticles(), printEmissionModelNonEquil(), and setupEmissionModelNonEquil().
|
private |
Definition at line 478 of file Distribution.h.
Referenced by Distribution(), Distribution(), printDistFlattop(), and setDistParametersFlattop().
|
private |
Definition at line 479 of file Distribution.h.
Referenced by Distribution(), Distribution(), printDistFlattop(), and setDistParametersFlattop().
|
private |
Definition at line 480 of file Distribution.h.
Referenced by createDistributionFlattop(), Distribution(), Distribution(), generateFlattopLaserProfile(), printDistFlattop(), setDistParametersFlattop(), and ~Distribution().
|
private |
Definition at line 477 of file Distribution.h.
Referenced by Distribution(), Distribution(), printDistFlattop(), and setDistParametersFlattop().
|
private |
Definition at line 469 of file Distribution.h.
Referenced by generateBinomial(), printDistBinomial(), and setDistParametersBinomial().
|
protectedinherited |
|
private |
Definition at line 474 of file Distribution.h.
Referenced by createDistributionMultiGauss(), Distribution(), Distribution(), printDistMultiGauss(), and setDistParametersMultiGauss().
|
private |
List of Distribution types.
Definition at line 389 of file Distribution.h.
Referenced by calcPartPerDist(), Distribution(), Distribution(), and setNumberOfDistributions().
|
private |
Definition at line 414 of file Distribution.h.
Referenced by checkEmissionParameters(), createOpalCycl(), createOpalT(), Distribution(), Distribution(), emitParticles(), findEBin(), getNumberOfEmissionSteps(), getNumberOfEnergyBins(), initializeBeam(), injectBeam(), printEnergyBins(), printInfo(), Rebin(), setEmissionTime(), setupEnergyBins(), setupParticleBins(), writeOutFileHeader(), and writeOutFileInjection().
|
private |
Number of energy bins the distribution is broken into. Used for an emitted beam.
Definition at line 416 of file Distribution.h.
Referenced by checkEmissionParameters(), Distribution(), Distribution(), emitParticles(), findEBin(), getEmissionDeltaT(), getNumberOfEmissionSteps(), printEnergyBins(), printInfo(), and setupEnergyBins().
|
privateinherited |
Definition at line 261 of file Object.h.
Referenced by clear(), increment(), Object(), Object(), and occurrenceCount().
|
private |
Definition at line 493 of file Distribution.h.
Referenced by printInfo(), writeOutFileEmission(), writeOutFileHeader(), and writeOutFileInjection().
|
private |
Distribution is an emitted, and is currently emitting, rather than an injected, beam.
Definition at line 394 of file Distribution.h.
Referenced by Distribution().
|
private |
Definition at line 399 of file Distribution.h.
Referenced by addDistributions(), calcPartPerDist(), create(), createOpalCycl(), createOpalT(), Distribution(), printInfo(), and shiftDistCoordinates().
|
staticprivate |
Definition at line 406 of file Distribution.h.
Referenced by setEmissionTime().
|
private |
Total thermal momentum.
Definition at line 426 of file Distribution.h.
Referenced by checkFileMomentum(), createDistributionFromFile(), createOpalT(), Distribution(), Distribution(), get_pmean(), setupEmissionModelAstra(), setupEmissionModelNone(), and setupEmissionModelNonEquil().
|
private |
Random number generator.
Definition at line 425 of file Distribution.h.
Referenced by applyEmissModelAstra(), applyEmissModelNone(), Distribution(), Distribution(), setupEmissionModelAstra(), and setupEmissionModelNone().
|
private |
Definition at line 442 of file Distribution.h.
Referenced by addDistributions(), adjustPhaseSpace(), createDistributionFromFile(), createDistributionMultiGauss(), Distribution(), emitParticles(), eraseBGxDist(), fillParticleBins(), generateBinomial(), generateFlattopLaserProfile(), generateFlattopT(), generateFlattopZ(), generateGaussZ(), generateMatchedGauss(), generateTransverseGauss(), getBGxDist(), injectBeam(), reflectDistribution(), scaleDistCoordinates(), shiftDistCoordinates(), and writeOutFileInjection().
|
private |
Definition at line 450 of file Distribution.h.
Referenced by Distribution(), emitParticles(), and writeOutFileEmission().
|
private |
Definition at line 444 of file Distribution.h.
Referenced by addDistributions(), adjustPhaseSpace(), createDistributionFromFile(), createDistributionMultiGauss(), Distribution(), emitParticles(), eraseBGyDist(), fillParticleBins(), generateBinomial(), generateFlattopLaserProfile(), generateFlattopT(), generateFlattopZ(), generateGaussZ(), generateMatchedGauss(), generateTransverseGauss(), getBGyDist(), injectBeam(), reflectDistribution(), scaleDistCoordinates(), shiftDistCoordinates(), and writeOutFileInjection().
|
private |
Definition at line 452 of file Distribution.h.
Referenced by Distribution(), emitParticles(), and writeOutFileEmission().
|
private |
Definition at line 446 of file Distribution.h.
Referenced by addDistributions(), adjustPhaseSpace(), createDistributionFromFile(), createDistributionMultiGauss(), Distribution(), emitParticles(), eraseBGzDist(), fillParticleBins(), generateAstraFlattopT(), generateBinomial(), generateFlattopZ(), generateGaussZ(), generateLongFlattopT(), generateMatchedGauss(), getBGzDist(), injectBeam(), reflectDistribution(), scaleDistCoordinates(), setupEmissionModelNone(), shiftDistCoordinates(), and writeOutFileInjection().
|
private |
Definition at line 454 of file Distribution.h.
Referenced by Distribution(), emitParticles(), and writeOutFileEmission().
|
private |
GSL histogram used to define energy bin structure.
Definition at line 422 of file Distribution.h.
Referenced by applyEmissModelNonEquil(), create(), createDistributionMultiGauss(), Distribution(), Distribution(), generateAstraFlattopT(), generateBinomial(), generateFlattopZ(), generateGaussZ(), generateLongFlattopT(), generateMatchedGauss(), generateTransverseGauss(), sampleUniformDisk(), and ~Distribution().
|
mutableprivateinherited |
Definition at line 76 of file RCObject.h.
Referenced by addReference(), isShared(), RCObject(), RCObject(), and removeReference().
|
privateinherited |
Definition at line 268 of file Object.h.
Referenced by registerReference(), unregisterReference(), and ~Object().
|
private |
Definition at line 473 of file Distribution.h.
Referenced by createDistributionMultiGauss(), Distribution(), Distribution(), printDistMultiGauss(), and setDistParametersMultiGauss().
|
privateinherited |
Definition at line 271 of file Object.h.
Referenced by isShared(), Object(), Object(), and setShared().
|
private |
Definition at line 490 of file Distribution.h.
Referenced by Distribution(), and getTEmission().
|
private |
Definition at line 466 of file Distribution.h.
Referenced by createDistributionMultiGauss(), Distribution(), generateBinomial(), generateGaussZ(), generateMatchedGauss(), generateTransverseGauss(), printDistBinomial(), printDistGauss(), printDistMatchedGauss(), printDistMultiGauss(), and setSigmaP_m().
|
private |
Definition at line 465 of file Distribution.h.
Referenced by createDistributionMultiGauss(), Distribution(), generateBinomial(), generateFlattopLaserProfile(), generateFlattopT(), generateFlattopZ(), generateGaussZ(), generateMatchedGauss(), generateTransverseGauss(), printDistBinomial(), printDistFlattop(), printDistGauss(), printDistMatchedGauss(), printDistMultiGauss(), setDistParametersFlattop(), setDistParametersGauss(), and setSigmaR_m().
|
private |
Definition at line 489 of file Distribution.h.
Referenced by Distribution(), and getTEmission().
|
private |
Definition at line 463 of file Distribution.h.
Referenced by Distribution(), Distribution(), generateLongFlattopT(), printDistFlattop(), printDistGauss(), setDistParametersFlattop(), setDistParametersGauss(), and setEmissionTime().
|
private |
Definition at line 462 of file Distribution.h.
Referenced by Distribution(), Distribution(), generateLongFlattopT(), printDistFlattop(), printDistGauss(), setDistParametersFlattop(), setDistParametersGauss(), and setEmissionTime().
|
private |
Increase tEmission_m by twice this percentage to ensure that no particles fall on the leading edge of the first emission time step or the trailing edge of the last emission time step.
Definition at line 410 of file Distribution.h.
Referenced by Distribution(), Distribution(), generateAstraFlattopT(), getEmissionDeltaT(), getEnergyBinDeltaT(), printInfo(), and setEmissionTime().
|
private |
Emission parameters.
Definition at line 405 of file Distribution.h.
Referenced by Distribution(), Distribution(), generateAstraFlattopT(), getTEmission(), initializeBeam(), printInfo(), setEmissionTime(), setupEnergyBins(), and shiftBeam().
|
private |
Definition at line 488 of file Distribution.h.
Referenced by Distribution(), and getTEmission().
|
private |
Definition at line 445 of file Distribution.h.
Referenced by addDistributions(), adjustPhaseSpace(), checkParticleNumber(), create(), createDistributionFromFile(), createDistributionMultiGauss(), createOpalCycl(), Distribution(), emitParticles(), eraseTOrZDist(), fillEBinHistogram(), fillParticleBins(), generateAstraFlattopT(), generateBinomial(), generateFlattopZ(), generateGaussZ(), generateLongFlattopT(), generateMatchedGauss(), getMaxTOrZ(), getMinTOrZ(), getTOrZDist(), injectBeam(), reflectDistribution(), scaleDistCoordinates(), shiftBeam(), shiftDistCoordinates(), writeOutFileHeader(), and writeOutFileInjection().
|
private |
Definition at line 453 of file Distribution.h.
Referenced by Distribution(), emitParticles(), and writeOutFileEmission().
|
private |
Definition at line 438 of file Distribution.h.
Referenced by Distribution(), Distribution(), emitParticles(), and getPercentageEmitted().
|
private |
Definition at line 437 of file Distribution.h.
Referenced by adjustPhaseSpace(), createOpalCycl(), createOpalT(), Distribution(), Distribution(), and getPercentageEmitted().
|
private |
Definition at line 464 of file Distribution.h.
Referenced by Distribution(), Distribution(), generateAstraFlattopT(), generateLongFlattopT(), getTEmission(), printDistFlattop(), printDistGauss(), setDistParametersFlattop(), setDistParametersGauss(), and setEmissionTime().
|
private |
time binned distribution with thermal energy
Definition at line 487 of file Distribution.h.
Referenced by Distribution(), generateAstraFlattopT(), getTEmission(), printDistFlattop(), and setDistParametersFlattop().
|
private |
Definition at line 441 of file Distribution.h.
Referenced by addDistributions(), adjustPhaseSpace(), createDistributionFromFile(), createDistributionMultiGauss(), Distribution(), emitParticles(), eraseXDist(), fillParticleBins(), generateBinomial(), generateFlattopLaserProfile(), generateFlattopT(), generateFlattopZ(), generateGaussZ(), generateMatchedGauss(), generateTransverseGauss(), getXDist(), injectBeam(), reflectDistribution(), scaleDistCoordinates(), shiftDistCoordinates(), and writeOutFileInjection().
|
private |
Definition at line 449 of file Distribution.h.
Referenced by Distribution(), emitParticles(), and writeOutFileEmission().
|
private |
Definition at line 443 of file Distribution.h.
Referenced by addDistributions(), adjustPhaseSpace(), createDistributionFromFile(), createDistributionMultiGauss(), Distribution(), emitParticles(), eraseYDist(), fillParticleBins(), generateBinomial(), generateFlattopLaserProfile(), generateFlattopT(), generateFlattopZ(), generateGaussZ(), generateMatchedGauss(), generateTransverseGauss(), getYDist(), injectBeam(), reflectDistribution(), scaleDistCoordinates(), shiftDistCoordinates(), and writeOutFileInjection().
|
private |
Definition at line 451 of file Distribution.h.
Referenced by Distribution(), emitParticles(), and writeOutFileEmission().