OPALX (Object Oriented Parallel Accelerator Library for Exascal) MINIorX
OPALX
Distribution Class Reference

#include <Distribution.h>

Inheritance diagram for Distribution:
Collaboration diagram for Distribution:

Classes

class  BinomialBehaviorSplitter
class  MDependentBehavior
class  GaussianLikeBehavior

Public Types

using Matrix_t = ippl::Vector< ippl::Vector<double, 6>, 6>

Public Member Functions

 Distribution ()
virtual ~Distribution ()
virtual bool canReplaceBy (Object *object)
 Distribution can only be replaced by another distribution.
virtual Distributionclone (const std::string &name)
 Return a clone.
virtual void execute ()
 Execute the command.
virtual void update ()
 Update this object.
void create (size_t &numberOfParticles, double massIneV, double charge, ippl::ParticleAttrib< ippl::Vector< double, 3 > > &R, ippl::ParticleAttrib< ippl::Vector< double, 3 > > &P, std::shared_ptr< ParticleContainer< double, 3 > > &pc, std::shared_ptr< FieldContainer_t > &fc, Vector_t< double, 3 > nr)
size_t getNumOfLocalParticlesToCreate (size_t n)
std::string getTypeofDistribution ()
DistributionType getType () const
Inform & printInfo (Inform &os) const
ippl::Vector< double, 3 > get_pmean () const
ippl::Vector< double, 3 > get_xmean () const
ippl::Vector< double, 3 > getSigmaR () const
ippl::Vector< double, 3 > getSigmaP () const
double getSigmaTRise () const
double getSigmaTFall () const
double getTPulseLengthFWHM () const
double getFTOSCAmplitude () const
double getFTOSCPeriods () const
void setDistType ()
void setDist ()
void setAvrgPz (double avrgpz)
double getAvrgpz () const
ippl::Vector< double, 3 > getCutoffR () const
ippl::Vector< double, 3 > getCutoffP () const
double getTEmission () const
void setTEmission (double tEmission)
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 AttributefindAttribute (const std::string &name)
 Find an attribute by name.
virtual const AttributefindAttribute (const std::string &name) const
 Find an attribute by name.
virtual ObjectmakeTemplate (const std::string &, TokenStream &, Statement &)
 Macro handler function.
virtual ObjectmakeInstance (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 ObjectgetBaseObject () const
 Return the object's base type object.
const std::string & getOpalName () const
 Return object name.
ObjectgetParent () 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 Distributionfind (const std::string &name)

Public Attributes

Matrix_t correlationMatrix_m
bool emitting_m
std::vector< AttributeitsAttr
 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
void addDistributions ()
void calcPartPerDist (size_t numberOfParticles)
void checkParticleNumber (size_t &numberOfParticles)
void chooseInputMomentumUnits (InputMomentumUnits inputMoUnits)
size_t getNumberOfParticlesInFile (std::ifstream &inputFile)
void createDistributionGauss (size_t numberOfParticles, double massIneV, ippl::ParticleAttrib< ippl::Vector< double, 3 > > &R, ippl::ParticleAttrib< ippl::Vector< double, 3 > > &P, std::shared_ptr< ParticleContainer< double, 3 > > &pc, std::shared_ptr< FieldContainer_t > &fc, Vector_t< double, 3 > nr)
void printDist (Inform &os, size_t numberOfParticles) const
void printDistGauss (Inform &os) const
void printDistMultiVariateGauss (Inform &os) const
void printDistFlatTop (Inform &os) const
void setAttributes ()
void setDistParametersGauss ()
void setDistParametersMultiVariateGauss ()
void setDistParametersFlatTop ()
void setSigmaR_m ()
void setSigmaP_m ()

Private Attributes

std::string distT_m
PartData particleRefData_m
 Distribution type strings.
size_t totalNumberParticles_m
ippl::Vector< double, 3 > pmean_m
ippl::Vector< double, 3 > xmean_m
ippl::Vector< double, 3 > sigmaR_m
ippl::Vector< double, 3 > sigmaP_m
ippl::Vector< double, 3 > cutoffR_m
ippl::Vector< double, 3 > cutoffP_m
double sigmaTRise_m
double sigmaTFall_m
double tPulseLengthFWHM_m
DistributionType distrTypeT_m
double avrgpz_m
double FTOSCAmplitude_m
double FTOSCPeriods_m
double tEmission_m
ObjectitsParent
std::string itsName
std::string itsHelp
int occurrence
double timeStamp
std::set< Invalidator * > references
bool sharedFlag
int refCount

Detailed Description

Definition at line 57 of file Distribution.h.

Member Typedef Documentation

◆ Matrix_t

using Distribution::Matrix_t = ippl::Vector< ippl::Vector<double, 6>, 6>

Definition at line 63 of file Distribution.h.

Member Enumeration Documentation

◆ EmissionModel

enum class Distribution::EmissionModel : unsigned short
strongprivate
Enumerator
NONE 
ASTRA 
NONEQUIL 

Definition at line 120 of file Distribution.h.

◆ InputMomentumUnits

enum class Distribution::InputMomentumUnits : unsigned short
strongprivate
Enumerator
NONE 
EVOVERC 

Definition at line 122 of file Distribution.h.

Constructor & Destructor Documentation

◆ Distribution() [1/3]

◆ ~Distribution()

Distribution::~Distribution ( )
virtual

Definition at line 141 of file Distribution.cpp.

◆ Distribution() [2/3]

Distribution::Distribution ( const std::string & name,
Distribution * parent )
private

Definition at line 137 of file Distribution.cpp.

References Definition::Definition(), and Distribution().

Here is the call graph for this function:

◆ Distribution() [3/3]

Distribution::Distribution ( const Distribution & )
privatedelete

References Distribution().

Here is the call graph for this function:

Member Function Documentation

◆ addDistributions()

void Distribution::addDistributions ( )
private

◆ addReference()

int RCObject::addReference ( ) const
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().

Here is the caller graph for this function:

◆ calcPartPerDist()

void Distribution::calcPartPerDist ( size_t numberOfParticles)
private

Create the particle distribution.

Parameters
numberOfParticlesto create
massIneVparticle charge in eV
chargeof the particle type in elementary charge

◆ canReplaceBy()

bool Distribution::canReplaceBy ( Object * object)
virtual

Distribution can only be replaced by another distribution.

Reimplemented from Object.

Definition at line 165 of file Distribution.cpp.

References Distribution(), and Object::Object().

Here is the call graph for this function:

◆ checkParticleNumber()

void Distribution::checkParticleNumber ( size_t & numberOfParticles)
private

◆ chooseInputMomentumUnits()

void Distribution::chooseInputMomentumUnits ( InputMomentumUnits inputMoUnits)
private

◆ clear()

void Object::clear ( )
inherited

Clear the occurrence counter.

Definition at line 339 of file Object.cpp.

References occurrence.

◆ clone()

Distribution * Distribution::clone ( const std::string & name)
virtual

Return a clone.

Implements Object.

Definition at line 169 of file Distribution.cpp.

References Distribution().

Here is the call graph for this function:

◆ copyAttributes()

void Object::copyAttributes ( const Object & source)
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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ create()

void Distribution::create ( size_t & numberOfParticles,
double massIneV,
double charge,
ippl::ParticleAttrib< ippl::Vector< double, 3 > > & R,
ippl::ParticleAttrib< ippl::Vector< double, 3 > > & P,
std::shared_ptr< ParticleContainer< double, 3 > > & pc,
std::shared_ptr< FieldContainer_t > & fc,
Vector_t< double, 3 > nr )

Definition at line 181 of file Distribution.cpp.

References nr.

◆ createDistributionGauss()

void Distribution::createDistributionGauss ( size_t numberOfParticles,
double massIneV,
ippl::ParticleAttrib< ippl::Vector< double, 3 > > & R,
ippl::ParticleAttrib< ippl::Vector< double, 3 > > & P,
std::shared_ptr< ParticleContainer< double, 3 > > & pc,
std::shared_ptr< FieldContainer_t > & fc,
Vector_t< double, 3 > nr )
private

Definition at line 450 of file Distribution.cpp.

References nr.

◆ execute()

void Distribution::execute ( )
virtual

Execute the command.

Reimplemented from Object.

Definition at line 173 of file Distribution.cpp.

References setAttributes(), and update().

Here is the call graph for this function:

◆ find()

Distribution * Distribution::find ( const std::string & name)
static

Definition at line 185 of file Distribution.cpp.

References Distribution(), OpalData::find(), and OpalData::getInstance().

Referenced by TrackRun::execute().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ findAttribute() [1/2]

Attribute * Object::findAttribute ( const std::string & name)
virtualinherited

Find an attribute by name.

Definition at line 64 of file Object.cpp.

References itsAttr.

Referenced by OpalElement::getParticleMatterInteraction(), OpalElement::getTypeName(), OpalElement::getWakeF(), Line::parse(), parse(), OpalElement::parse(), OpalParser::parseAssign(), SequenceParser::parsePosition(), and parseShortcut().

Here is the caller graph for this function:

◆ findAttribute() [2/2]

const Attribute * Object::findAttribute ( const std::string & name) const
virtualinherited

Find an attribute by name.

Definition at line 72 of file Object.cpp.

References itsAttr.

◆ get_pmean()

ippl::Vector< double, 3 > Distribution::get_pmean ( ) const
inline

Definition at line 240 of file Distribution.h.

References pmean_m.

◆ get_xmean()

ippl::Vector< double, 3 > Distribution::get_xmean ( ) const
inline

Definition at line 244 of file Distribution.h.

References xmean_m.

◆ getAvrgpz()

double Distribution::getAvrgpz ( ) const
inline

Definition at line 280 of file Distribution.h.

References avrgpz_m.

◆ getBaseObject()

const Object * Object::getBaseObject ( ) const
inherited

Return the object's base type object.

Definition at line 301 of file Object.cpp.

References itsParent, and Object().

Here is the call graph for this function:

◆ getCategory()

const std::string Definition::getCategory ( ) const
virtualinherited

Return the object category as a string.

Implements Object.

Definition at line 29 of file Definition.cpp.

◆ getCutoffP()

ippl::Vector< double, 3 > Distribution::getCutoffP ( ) const
inline

Definition at line 252 of file Distribution.h.

References cutoffP_m.

◆ getCutoffR()

ippl::Vector< double, 3 > Distribution::getCutoffR ( ) const
inline

Definition at line 248 of file Distribution.h.

References cutoffR_m.

◆ getFTOSCAmplitude()

double Distribution::getFTOSCAmplitude ( ) const
inline

Definition at line 268 of file Distribution.h.

References FTOSCAmplitude_m.

◆ getFTOSCPeriods()

double Distribution::getFTOSCPeriods ( ) const
inline

Definition at line 272 of file Distribution.h.

References FTOSCPeriods_m.

◆ getNumberOfParticlesInFile()

size_t Distribution::getNumberOfParticlesInFile ( std::ifstream & inputFile)
private

◆ getNumOfLocalParticlesToCreate()

size_t Distribution::getNumOfLocalParticlesToCreate ( size_t n)

Calculate the local number of particles evenly and adjust node 0 such that n is matched exactly.

Parameters
ntotal number of particles
Returns
n / #cores
Parameters

Definition at line 152 of file Distribution.cpp.

◆ getOpalName()

◆ getParent()

Object * Object::getParent ( ) const
inherited

Return parent pointer.

Definition at line 313 of file Object.cpp.

References itsParent, and Object().

Referenced by OpalData::erase(), print(), OpalElement::print(), registerOwnership(), and OpalElement::registerOwnership().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getSigmaP()

ippl::Vector< double, 3 > Distribution::getSigmaP ( ) const
inline

Definition at line 236 of file Distribution.h.

References sigmaP_m.

◆ getSigmaR()

ippl::Vector< double, 3 > Distribution::getSigmaR ( ) const
inline

Definition at line 232 of file Distribution.h.

References sigmaR_m.

◆ getSigmaTFall()

double Distribution::getSigmaTFall ( ) const
inline

Definition at line 260 of file Distribution.h.

References sigmaTFall_m.

◆ getSigmaTRise()

double Distribution::getSigmaTRise ( ) const
inline

Definition at line 256 of file Distribution.h.

References sigmaTRise_m.

◆ getTEmission()

double Distribution::getTEmission ( ) const

Distribution is an emitted, and is currently emitting, rather than an injected, beam.

Definition at line 234 of file Distribution.cpp.

References tEmission_m.

◆ getTPulseLengthFWHM()

double Distribution::getTPulseLengthFWHM ( ) const
inline

Definition at line 264 of file Distribution.h.

References tPulseLengthFWHM_m.

◆ getType()

DistributionType Distribution::getType ( ) const
inline

Definition at line 276 of file Distribution.h.

References distrTypeT_m.

◆ getTypeofDistribution()

std::string Distribution::getTypeofDistribution ( )
inline

Definition at line 284 of file Distribution.h.

References distT_m.

◆ increment()

int Object::increment ( )
inherited

Increment and return the occurrence counter.

Definition at line 344 of file Object.cpp.

References occurrence.

Referenced by Line::parse(), and Sequence::storeLine().

Here is the caller graph for this function:

◆ isBuiltin()

bool Object::isBuiltin ( ) const
inherited

True, if [b]this[/b] is a built-in object.

Definition at line 266 of file Object.cpp.

References builtin.

Referenced by OpalData::define(), and OpalData::getVariableNames().

Here is the caller graph for this function:

◆ isDirty()

bool Object::isDirty ( ) const
inherited

True, if the [b]modified[/b] flag is set.

Definition at line 287 of file Object.cpp.

References modified.

◆ isFlagged()

bool Object::isFlagged ( ) const
inherited

True, if [b]this[/b] is flagged by setFlag(true).

Definition at line 297 of file Object.cpp.

References flagged.

◆ isShared()

bool Object::isShared ( ) const
virtualinherited

Shared flag.

Definition at line 271 of file Object.cpp.

References sharedFlag.

Referenced by Sequence::print().

Here is the caller graph for this function:

◆ isTreeMember()

bool Object::isTreeMember ( const Object * subTree) const
inherited

Test for tree membership.

Definition at line 318 of file Object.cpp.

References Object().

Referenced by Selector::handleElement(), and OpalParser::parseAssign().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ makeInstance()

Object * Object::makeInstance ( const std::string & name,
Statement & ,
const Parser *  )
virtualinherited

Macro handler function.

Reimplemented in LineTemplate, MacroCmd, and SequenceTemplate.

Definition at line 89 of file Object.cpp.

References getOpalName(), and Object().

Referenced by OpalParser::parseDefine(), and OpalParser::parseMacro().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ makeTemplate()

Object * Object::makeTemplate ( const std::string & name,
TokenStream & ,
Statement &  )
virtualinherited

Macro handler function.

Reimplemented in Line, LineTemplate, MacroCmd, Sequence, and SequenceTemplate.

Definition at line 82 of file Object.cpp.

References Object().

Referenced by OpalParser::parseMacro().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ occurrenceCount()

int Object::occurrenceCount ( )
inherited

Return the occurrence counter.

Definition at line 349 of file Object.cpp.

References occurrence.

◆ operator=()

void Distribution::operator= ( const Distribution & )
privatedelete

References Distribution().

Here is the call graph for this function:

◆ parse()

void Object::parse ( Statement & stat)
virtualinherited

Parse the object.

Reimplemented in Call, Echo, Help, Line, OpalElement, PSystem, Sequence, System, Title, and Value.

Definition at line 95 of file Object.cpp.

References Statement::delimiter(), findAttribute(), getOpalName(), Expressions::parseDelimiter(), Expressions::parseRealConst(), and Expressions::parseString().

Referenced by Sequence::parse(), OpalParser::parseAction(), OpalParser::parseDefine(), and SequenceTemplate::parseTemplate().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ parseShortcut()

void Object::parseShortcut ( Statement & stat,
bool eval = true )
virtualinherited

Parser for single-attribute commands.

Definition at line 127 of file Object.cpp.

References Statement::delimiter(), findAttribute(), getOpalName(), Statement::mark(), and Statement::word().

Referenced by Call::parse(), Echo::parse(), Help::parse(), PSystem::parse(), System::parse(), Title::parse(), and Value::parse().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ print()

void Object::print ( std::ostream & msg) const
virtualinherited

Print the object.

Reimplemented in Beam, BoolConstant, DumpEMFields, DumpFields, Line, OpalElement, OpalFilter, OpalMarker, OpalMultipole, OpalMultipoleT, OpalOffset::OpalGlobalCartesianOffset, OpalOffset::OpalGlobalCylindricalOffset, OpalOffset::OpalLocalCartesianOffset, OpalOffset::OpalLocalCylindricalOffset, OpalRingDefinition, RealConstant, RealVariable, RealVector, Sequence, and StringConstant.

Definition at line 159 of file Object.cpp.

References getOpalName(), getParent(), itsAttr, and Object().

Referenced by printValue().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ printDist()

void Distribution::printDist ( Inform & os,
size_t numberOfParticles ) const
private

Definition at line 454 of file Distribution.cpp.

◆ printDistFlatTop()

void Distribution::printDistFlatTop ( Inform & os) const
private

Definition at line 487 of file Distribution.cpp.

References cutoffR_m, emitting_m, sigmaR_m, sigmaTFall_m, sigmaTRise_m, and tPulseLengthFWHM_m.

Referenced by printInfo().

Here is the caller graph for this function:

◆ printDistGauss()

void Distribution::printDistGauss ( Inform & os) const
private

Definition at line 457 of file Distribution.cpp.

References sigmaP_m, and sigmaR_m.

Referenced by printInfo().

Here is the caller graph for this function:

◆ printDistMultiVariateGauss()

void Distribution::printDistMultiVariateGauss ( Inform & os) const
private

Definition at line 468 of file Distribution.cpp.

References correlationMatrix_m, sigmaP_m, and sigmaR_m.

Referenced by printInfo().

Here is the caller graph for this function:

◆ printHelp()

void Object::printHelp ( std::ostream & ) const
virtualinherited

Print help.

Definition at line 199 of file Object.cpp.

References gmsg, itsAttr, and itsHelp.

Referenced by Help::execute(), and main().

Here is the caller graph for this function:

◆ printInfo()

Inform & Distribution::printInfo ( Inform & os) const

Definition at line 195 of file Distribution.cpp.

References distrTypeT_m, FLATTOP, GAUSS, OpalData::getInstance(), MULTIVARIATEGAUSS, printDistFlatTop(), printDistGauss(), and printDistMultiVariateGauss().

Referenced by operator<<().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ printValue()

void Object::printValue ( std::ostream & os) const
inlinevirtualinherited

Reimplemented in BoolConstant, RealConstant, RealVariable, RealVector, and StringConstant.

Definition at line 280 of file Object.h.

References print().

Here is the call graph for this function:

◆ registerOwnership()

void Object::registerOwnership ( const AttributeHandler::OwnerType & itsClass) const
inherited

Definition at line 189 of file Object.cpp.

References AttributeHandler::addAttributeOwner(), end(), getOpalName(), getParent(), and itsAttr.

Referenced by Beam::Beam(), BoolConstant::BoolConstant(), BoundaryGeometry::BoundaryGeometry(), Call::Call(), Distribution::Distribution(), DumpEMFields::DumpEMFields(), DumpFields::DumpFields(), Echo::Echo(), Help::Help(), Line::Line(), OpalFilter::OpalFilter(), Option::Option(), PSystem::PSystem(), RealConstant::RealConstant(), RealVariable::RealVariable(), RealVector::RealVector(), Select::Select(), Sequence::Sequence(), StringConstant::StringConstant(), System::System(), Title::Title(), TrackCmd::TrackCmd(), TrackRun::TrackRun(), and Value::Value().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ registerReference()

void Object::registerReference ( Invalidator * a)
inherited

Register a reference to this object.

Definition at line 180 of file Object.cpp.

References references.

◆ removeReference()

int RCObject::removeReference ( ) const
inlineinherited

Decrement the reference count.

Definition at line 88 of file RCObject.h.

References refCount.

◆ replace()

void Object::replace ( Object * oldObject,
Object * newObject )
virtualinherited

Replace references.

Reimplemented in Line, and Sequence.

Definition at line 256 of file Object.cpp.

References Object().

Here is the call graph for this function:

◆ setAttributes()

void Distribution::setAttributes ( )
private

Definition at line 514 of file Distribution.cpp.

References setDist().

Referenced by execute().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setAvrgPz()

void Distribution::setAvrgPz ( double avrgpz)

Definition at line 226 of file Distribution.cpp.

References avrgpz_m.

◆ setDirty()

void Object::setDirty ( bool dirty)
inherited

Set/reset the [b]modified[/b] flag.

Definition at line 281 of file Object.cpp.

References modified.

Referenced by OpalData::define(), OpalData::makeDirty(), and RealVariable::RealVariable().

Here is the caller graph for this function:

◆ setDist()

void Distribution::setDist ( )

Definition at line 518 of file Distribution.cpp.

References distrTypeT_m, FLATTOP, GAUSS, MULTIVARIATEGAUSS, setDistParametersFlatTop(), setDistParametersGauss(), setDistParametersMultiVariateGauss(), and setDistType().

Referenced by setAttributes().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setDistParametersFlatTop()

void Distribution::setDistParametersFlatTop ( )
private

Definition at line 316 of file Distribution.cpp.

References correlationMatrix_m, DISTRIBUTION::CORRT, DISTRIBUTION::CORRX, DISTRIBUTION::CORRY, DISTRIBUTION::CORRZ, DISTRIBUTION::CUTOFFLONG, cutoffP_m, cutoffR_m, DISTRIBUTION::CUTOFFX, DISTRIBUTION::CUTOFFY, DISTRIBUTION::EMITTED, emitting_m, DISTRIBUTION::FTOSCAMPLITUDE, FTOSCAmplitude_m, DISTRIBUTION::FTOSCPERIODS, FTOSCPeriods_m, Attributes::getBool(), Attributes::getReal(), Object::itsAttr, setSigmaP_m(), setSigmaR_m(), sigmaR_m, DISTRIBUTION::SIGMAT, sigmaTFall_m, sigmaTRise_m, DISTRIBUTION::TFALL, DISTRIBUTION::TPULSEFWHM, tPulseLengthFWHM_m, and DISTRIBUTION::TRISE.

Referenced by setDist().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setDistParametersGauss()

void Distribution::setDistParametersGauss ( )
private

Definition at line 238 of file Distribution.cpp.

References avrgpz_m, cutoffP_m, cutoffR_m, setSigmaP_m(), and setSigmaR_m().

Referenced by setDist().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setDistParametersMultiVariateGauss()

void Distribution::setDistParametersMultiVariateGauss ( )
private

Definition at line 269 of file Distribution.cpp.

References avrgpz_m, DISTRIBUTION::CORR, correlationMatrix_m, cutoffP_m, cutoffR_m, Attributes::getRealArray(), gmsg, Object::itsAttr, setSigmaP_m(), setSigmaR_m(), sigmaP_m, and sigmaR_m.

Referenced by setDist().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setDistType()

void Distribution::setDistType ( )

Definition at line 537 of file Distribution.cpp.

References distrTypeT_m, distT_m, FLATTOP, GAUSS, Attributes::getString(), Object::itsAttr, MULTIVARIATEGAUSS, NODIST, and DISTRIBUTION::TYPE.

Referenced by setDist().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setFlag()

void Object::setFlag ( bool flag)
inherited

Flag/unflag this object, e. g. to control output of objects for.

Definition at line 292 of file Object.cpp.

References flagged.

◆ setOpalName()

void Object::setOpalName ( const std::string & name)
inherited

Set object name.

Definition at line 329 of file Object.cpp.

References itsName.

Referenced by Beam::update(), BoundaryGeometry::update(), and OpalFilter::update().

Here is the caller graph for this function:

◆ setParent()

void Object::setParent ( Object * parent)
inherited

Set parent object.

Definition at line 334 of file Object.cpp.

References itsParent, and Object().

Referenced by OpalData::erase().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setShared()

void Object::setShared ( bool flag)
virtualinherited

Set/reset shared flag.

Reimplemented in Element.

Definition at line 276 of file Object.cpp.

References sharedFlag.

Referenced by OpalParser::parseDefine(), and Element::setShared().

Here is the caller graph for this function:

◆ setSigmaP_m()

void Distribution::setSigmaP_m ( )
private

Definition at line 563 of file Distribution.cpp.

References Attributes::getReal(), Object::itsAttr, sigmaP_m, DISTRIBUTION::SIGMAPX, DISTRIBUTION::SIGMAPY, and DISTRIBUTION::SIGMAPZ.

Referenced by setDistParametersFlatTop(), setDistParametersGauss(), and setDistParametersMultiVariateGauss().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setSigmaR_m()

void Distribution::setSigmaR_m ( )
private

Definition at line 556 of file Distribution.cpp.

References Attributes::getReal(), Object::itsAttr, sigmaR_m, DISTRIBUTION::SIGMAX, DISTRIBUTION::SIGMAY, and DISTRIBUTION::SIGMAZ.

Referenced by setDistParametersFlatTop(), setDistParametersGauss(), and setDistParametersMultiVariateGauss().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setTEmission()

void Distribution::setTEmission ( double tEmission)

Definition at line 230 of file Distribution.cpp.

References tEmission_m.

◆ shouldTrace()

bool Definition::shouldTrace ( ) const
virtualinherited

Trace flag.

Implements Object.

Definition at line 34 of file Definition.cpp.

◆ shouldUpdate()

bool Definition::shouldUpdate ( ) const
virtualinherited

Update flag.

Implements Object.

Definition at line 39 of file Definition.cpp.

◆ unregisterReference()

void Object::unregisterReference ( Invalidator * a)
inherited

Unegister a reference to this object.

Definition at line 185 of file Object.cpp.

References references.

◆ update()

void Distribution::update ( )
virtual

Update this object.

Reimplemented from Object.

Definition at line 178 of file Distribution.cpp.

Referenced by execute().

Here is the caller graph for this function:

Member Data Documentation

◆ avrgpz_m

double Distribution::avrgpz_m
private

◆ builtin

◆ correlationMatrix_m

Matrix_t Distribution::correlationMatrix_m

◆ cutoffP_m

ippl::Vector<double, 3> Distribution::cutoffP_m
private

◆ cutoffR_m

ippl::Vector<double, 3> Distribution::cutoffR_m
private

◆ distrTypeT_m

DistributionType Distribution::distrTypeT_m
private

Definition at line 218 of file Distribution.h.

Referenced by Distribution(), getType(), printInfo(), setDist(), and setDistType().

◆ distT_m

std::string Distribution::distT_m
private

Definition at line 205 of file Distribution.h.

Referenced by getTypeofDistribution(), and setDistType().

◆ emitting_m

bool Distribution::emitting_m

Definition at line 113 of file Distribution.h.

Referenced by printDistFlatTop(), and setDistParametersFlatTop().

◆ flagged

bool Object::flagged
protectedinherited

Object flag.

Definition at line 242 of file Object.h.

Referenced by isFlagged(), Object(), Object(), and setFlag().

◆ FTOSCAmplitude_m

double Distribution::FTOSCAmplitude_m
private

Definition at line 222 of file Distribution.h.

Referenced by getFTOSCAmplitude(), and setDistParametersFlatTop().

◆ FTOSCPeriods_m

double Distribution::FTOSCPeriods_m
private

Definition at line 223 of file Distribution.h.

Referenced by getFTOSCPeriods(), and setDistParametersFlatTop().

◆ itsAttr

std::vector<Attribute> Object::itsAttr
inherited

The object attributes.

Definition at line 216 of file Object.h.

Referenced by Beam::Beam(), BoolConstant::BoolConstant(), BoundaryGeometry::BoundaryGeometry(), BoundaryGeometry::BoundaryGeometry(), DumpEMFields::buildGrid(), DumpFields::buildGrid(), Call::Call(), copyAttributes(), Distribution::Distribution(), DumpEMFields::DumpEMFields(), DumpFields::DumpFields(), Echo::Echo(), Beam::execute(), Call::execute(), Echo::execute(), Help::execute(), Option::execute(), PSystem::execute(), Select::execute(), System::execute(), Title::execute(), TrackCmd::execute(), TrackRun::execute(), Value::execute(), FieldSolverCmd::FieldSolverCmd(), findAttribute(), findAttribute(), BoundaryGeometry::getA(), OpalElement::getApert(), BoundaryGeometry::getB(), BoolConstant::getBool(), FieldSolverCmd::getBoxIncr(), BoundaryGeometry::getC(), Beam::getCharge(), Beam::getCurrent(), FieldSolverCmd::getDomDec(), TrackCmd::getDT(), TrackCmd::getDTAU(), TrackCmd::getDTSCINIT(), BoundaryGeometry::getFilename(), Beam::getFrequency(), BoundaryGeometry::getL1(), BoundaryGeometry::getL2(), BoundaryGeometry::getLength(), Line::getLength(), OpalElement::getLength(), Sequence::getLength(), Beam::getMass(), TrackCmd::getMaxSteps(), Beam::getNumberOfParticles(), FieldSolverCmd::getNX(), FieldSolverCmd::getNY(), FieldSolverCmd::getNZ(), Beam::getParticleName(), RealConstant::getReal(), RealVariable::getReal(), RealVector::getRealComponent(), Sequence::getReference(), BoundaryGeometry::getS(), TrackCmd::getStepsPerTurn(), StringConstant::getString(), TrackCmd::getT0(), TrackCmd::getTimeIntegrator(), BoundaryGeometry::getTopology(), FieldSolverCmd::getType(), TrackCmd::getZStart(), TrackCmd::getZStop(), Help::Help(), BoundaryGeometry::initialize(), OpalFilter::initOpalFilter(), Line::Line(), Object(), Object(), OpalCavity::OpalCavity(), OpalDrift::OpalDrift(), OpalElement::OpalElement(), OpalFilter::OpalFilter(), OpalOffset::OpalGlobalCartesianOffset::OpalGlobalCartesianOffset(), OpalOffset::OpalGlobalCylindricalOffset::OpalGlobalCylindricalOffset(), OpalOffset::OpalLocalCartesianOffset::OpalLocalCartesianOffset(), OpalOffset::OpalLocalCylindricalOffset::OpalLocalCylindricalOffset(), OpalMultipole::OpalMultipole(), OpalMultipoleT::OpalMultipoleT(), OpalProbe::OpalProbe(), OpalRingDefinition::OpalRingDefinition(), OpalSolenoid::OpalSolenoid(), OpalTravelingWave::OpalTravelingWave(), OpalVacuum::OpalVacuum(), OpalVerticalFFAMagnet::OpalVerticalFFAMagnet(), Option::Option(), Option::Option(), Line::parse(), Sequence::parse(), DumpEMFields::parseCoordinateSystem(), Beam::print(), BoolConstant::print(), DumpEMFields::print(), DumpFields::print(), print(), OpalFilter::print(), RealConstant::print(), RealVariable::print(), RealVector::print(), Sequence::print(), StringConstant::print(), TrackRun::print(), printHelp(), BoundaryGeometry::printInfo(), FieldSolverCmd::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(), Select::Select(), Select::select(), Sequence::Sequence(), Distribution::setDistParametersFlatTop(), Distribution::setDistParametersMultiVariateGauss(), Distribution::setDistType(), FieldSolverCmd::setNX(), FieldSolverCmd::setNY(), FieldSolverCmd::setNZ(), TrackRun::setRunMethod(), Distribution::setSigmaP_m(), Distribution::setSigmaR_m(), TrackRun::setupBoundaryGeometry(), StringConstant::StringConstant(), StringConstant::StringConstant(), System::System(), Title::Title(), TrackCmd::TrackCmd(), TrackRun::TrackRun(), Beam::update(), FieldSolverCmd::update(), OpalCavity::update(), OpalDrift::update(), OpalElement::update(), OpalMonitor::update(), OpalMultipole::update(), OpalMultipoleT::update(), OpalOffset::OpalGlobalCartesianOffset::update(), OpalOffset::OpalGlobalCylindricalOffset::update(), OpalOffset::OpalLocalCartesianOffset::update(), OpalOffset::OpalLocalCylindricalOffset::update(), OpalProbe::update(), OpalRingDefinition::update(), OpalSolenoid::update(), OpalTravelingWave::update(), OpalVacuum::update(), OpalVerticalFFAMagnet::update(), Option::update(), OpalElement::updateUnknown(), Value::Value(), ValueDefinition::value(), and ValueDefinition::value().

◆ itsHelp

std::string Object::itsHelp
privateinherited

Definition at line 258 of file Object.h.

Referenced by Object(), Object(), and printHelp().

◆ itsName

std::string Object::itsName
privateinherited

Definition at line 255 of file Object.h.

Referenced by getOpalName(), Object(), Object(), and setOpalName().

◆ itsParent

Object* Object::itsParent
privateinherited

Definition at line 252 of file Object.h.

Referenced by getBaseObject(), getParent(), Object(), Object(), and setParent().

◆ modified

bool Object::modified
protectedinherited

Dirty flag.

Definition at line 238 of file Object.h.

Referenced by isDirty(), Object(), Object(), and setDirty().

◆ occurrence

int Object::occurrence
privateinherited

Definition at line 261 of file Object.h.

Referenced by clear(), increment(), Object(), Object(), and occurrenceCount().

◆ particleRefData_m

PartData Distribution::particleRefData_m
private

Distribution type strings.

Definition at line 207 of file Distribution.h.

◆ pmean_m

ippl::Vector<double, 3> Distribution::pmean_m
private

Definition at line 212 of file Distribution.h.

Referenced by get_pmean().

◆ refCount

int RCObject::refCount
mutableprivateinherited

Definition at line 76 of file RCObject.h.

Referenced by addReference(), isShared(), RCObject(), RCObject(), and removeReference().

◆ references

std::set<Invalidator *> Object::references
privateinherited

Definition at line 268 of file Object.h.

Referenced by registerReference(), unregisterReference(), and ~Object().

◆ sharedFlag

bool Object::sharedFlag
privateinherited

Definition at line 271 of file Object.h.

Referenced by isShared(), Object(), Object(), and setShared().

◆ sigmaP_m

ippl::Vector<double, 3> Distribution::sigmaP_m
private

◆ sigmaR_m

ippl::Vector<double, 3> Distribution::sigmaR_m
private

◆ sigmaTFall_m

double Distribution::sigmaTFall_m
private

Definition at line 215 of file Distribution.h.

Referenced by getSigmaTFall(), printDistFlatTop(), and setDistParametersFlatTop().

◆ sigmaTRise_m

double Distribution::sigmaTRise_m
private

Definition at line 214 of file Distribution.h.

Referenced by getSigmaTRise(), printDistFlatTop(), and setDistParametersFlatTop().

◆ tEmission_m

double Distribution::tEmission_m
private

Definition at line 225 of file Distribution.h.

Referenced by getTEmission(), and setTEmission().

◆ timeStamp

double Object::timeStamp
privateinherited

Definition at line 264 of file Object.h.

◆ totalNumberParticles_m

size_t Distribution::totalNumberParticles_m
private

Reference data for particle type (charge, mass etc.)

Definition at line 210 of file Distribution.h.

◆ tPulseLengthFWHM_m

double Distribution::tPulseLengthFWHM_m
private

Definition at line 216 of file Distribution.h.

Referenced by getTPulseLengthFWHM(), printDistFlatTop(), and setDistParametersFlatTop().

◆ xmean_m

ippl::Vector<double, 3> Distribution::xmean_m
private

Definition at line 212 of file Distribution.h.

Referenced by get_xmean().


The documentation for this class was generated from the following files: