22 #ifndef OPAL_ORBITTHREADER_H
23 #define OPAL_ORBITTHREADER_H
56 double position)
const;
136 double position)
const {
IndexMap::value_t getTouchingElements(const IndexMap::key_t &range) const
ValueRange< long > stepRange_m
double pathLength_m
position of reference particle in path length
void processElementRegister()
value_t getTouchingElements(const key_t &range) const
BoundingBox globalBoundingBox_m
void autophaseCavities(const IndexMap::value_t &activeSet, const std::set< std::string > &visitedElements)
std::set< std::shared_ptr< Component > > value_t
void updateBoundingBoxWithCurrentPosition()
void computeBoundingBox()
BoundingBox getBoundingBox() const
key_t getRange(const IndexMap::value_t::value_type &element, double position) const
bool operator()(const elementPosition &a, const elementPosition &b) const
std::multimap< std::string, elementPosition > elementRegistry_m
value_t query(key_t::first_type s, key_t::second_type ds)
void setDesignEnergy(FieldList &allElements, const std::set< std::string > &visitedElements)
OpalBeamline & itsOpalBeamline_m
void checkElementLengths(const std::set< std::shared_ptr< Component >> &elements)
set(_SRCS Action.cpp Attribute.cpp AttributeBase.cpp AttributeHandler.cpp BeamSequence.cpp Definition.cpp Directory.cpp Element.cpp Invalidator.cpp OpalData.cpp Object.cpp ObjectFunction.cpp PlaceRep.cpp RangeRep.cpp Table.cpp TableRowRep.cpp ValueDefinition.cpp) include_directories($
OrbitThreader(const PartData &ref, const Vector_t &r, const Vector_t &p, double s, double maxDiffZBunch, double t, double dT, StepSizeConfig stepSizes, OpalBeamline &bl)
ValueRange< double > pathLengthRange_m
double computeDriftLengthToBoundingBox(const std::set< std::shared_ptr< Component >> &elements, const Vector_t &position, const Vector_t &direction) const
StepSizeConfig stepSizes_m
final position in path length
T * value_type(const SliceIterator< T > &)
double time_m
the simulated time
size_t loggingFrequency_m
std::list< ClassicField > FieldList
IndexMap::value_t query(IndexMap::key_t::first_type step, IndexMap::key_t::second_type length)
Vector_t p_m
momentum of reference particle
double getMaxDesignEnergy(const IndexMap::value_t &elementSet) const
Vector_t r_m
position of reference particle in lab coordinates
bool containsCavity(const IndexMap::value_t &activeSet)
IndexMap::key_t getRange(const IndexMap::value_t::value_type &element, double position) const
void integrate(const IndexMap::value_t &activeSet, double maxDrift=10.0)
const PartData & reference_m
void registerElement(const IndexMap::value_t &elementSet, double, const Vector_t &r, const Vector_t &p)