Swarm-NG  1.1
Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 12345]
oCswarm::gpu::bppt::AdaptiveTimeStepData structure for adaptive time step
oCgpulog::internal::alignment< T >Type alignment querying
oCgpulog::internal::alignment< body[N]>
oCgpulog::internal::alignment< float2 >Alignment overrides to make the host packing compatible with device packing See table B-1 in CUDA 2.2 Programming Guide for reference
oCgpulog::internal::arginfoArginfo (mainly used for debugging)
oCgpulog::internal::argio< T >I/o support: scalar PODs
oCgpulog::internal::argio< array< T > >I/o support: unbound array (array<>) specialization
oCgpulog::internal::argio< body_set< N > >Template partial specialization of argio class from gpulog for body_set
oCgpulog::internal::argio< T * >Force a compiler error if the user attempts to serialize a pointer
oCgpulog::internal::argio< T[N]>Presized array read/write specialization
oCgpulog::internal::array< T >Unbound array alloc request class
oCswarmng.System.AttributeAttributes of the system, it is just a list of floating point values
oCswarmng.Body.AttributeAttributes of the body, it is just a list of floating point values
oCswarm::basic_plugin_initializer< T >Template class for easy plugin development and management
oCswarm::snapshot::bodyData structure used in binary files. parameters for each body. nbod instances of this struct follows after each sys data structure
oCswarm::EnsembleBase< _CHUNK_SIZE, _NUM_BODY_ATTRIBUTES, _NUM_SYS_ATTRIBUTES >::BodyConcrete structure of Body This class is specifically designed to be used with CoalescedStruct array
oCswarmng.BodyA body object within a system
oCswarm::log::body_set< N >Body_set class: hold a set of indices to bodies in a given system in a given ensemble
oCchoose< T, N, MAXN, B, P >Template object function to choose the appropriate instantiation of a function at compile time
oCswarm::CoalescedMemberArray< _value_type, _N, _CHUNK_SIZE >To use as an array for members of Body and Sys
oCswarm::CoalescedMemberArray< double, NUM_BODY_ATTRIBUTES, CHUNK_SIZE >
oCswarm::CoalescedMemberArray< double, NUM_SYS_ATTRIBUTES, CHUNK_SIZE >
oCswarm::CoalescedStructArray< Item, _Scalar, _CHUNK_SIZE >Array of structures with coalecsed access
oCswarm::CoalescedStructArray< Body, double, CHUNK_SIZE >
oCswarm::CoalescedStructArray< Sys, double, CHUNK_SIZE >
oCswarm::monitors::combine< log_t, Monitor1, Monitor2 >Template to allow developer to join two monitors Signal is true if either monitor returns true
oCswarm::monitors::combine_monitors_params< Param1, Param2 >Define parameters for combining monitors
oCswarm::monitors::combine_monitors_params< typename monitor1_t::params, typename monitor2_t::params >
oCswarm::compile_time_params_t< i >This is a wrapper for a compile time integere value. Because CUDA chokes when encountered with integer template values
oCswarmng.Body.ComponentsRepresentetive for one component (x,y,z) of the object Contains position and velocity for that component
oCswarmng.ConfigSpecialization of std::map to hold all our configuration attributes
oCpeyton::io::binary::datatype_infoType information structure for manifest
oCDefaultAllocator< T >Default allocator that uses C++ new/delete This class uses standard C++ routines for allocation and memory manipulation: new[], delete[] and std::copy
oCgpulog::internal::dev_internalsDevice internals encapsulation for log_base<> template
oCDeviceAllocator< T >CUDA device memory allocator that uses cudaMalloc,cudaMemcpy,cudaFree It creates a pointer that is allocated on the device. The pointer cannot be used by the caller and should only be passed to a CUDA kernel. The copy uses cudaMemcpy to transfer data between 2 device arrays
oCswarm::DoubleCoalescedStruct< W >CoalescedStruct for double data type
oCswarm::DoubleCoalescedStruct< SHMEM_CHUNK_SIZE >
oCswarmng.EnsembleAbstract ensemble data structure
oCswarm::EnsembleBase< _CHUNK_SIZE, _NUM_BODY_ATTRIBUTES, _NUM_SYS_ATTRIBUTES >Ensemble data structure containing nbody systems
oCswarm::EnsembleBase< ENSEMBLE_CHUNK_SIZE >
oCswarm::EnsembleBase< W >
oCswarm::gpu::bppt::EulerPropagator< T, Gravitation >GPU implementation of euler propagator It is of no practical use
oCswarm::gpu::bppt::EulerPropagatorParamsParamaters for EulerPropagator
oCswarm::log::event_record< NumData >Define event_record class
oCswarm::log::event_record< 0 >Specialized version for NumData=0 to allow for no double data (is this needed?)
oCswarm::log::event_record<-1 >Specialized version for NumData=-1 to allow for variable length
oCstd::exceptionSTL class
oCf2dstruct< T >Printf API
oCswarm::gpu::bppt::FixedTimeStepData structure for fixed time step
oCswarm::gpu::bppt::GravitationAcc< T >Templatized Class to calculate acceleration and jerk in parallel
oCswarm::gpu::bppt::GravitationAcc_GR< T >Templatized Class to calculate acceleration and jerk in parallel
oCswarm::gpu::bppt::GravitationAccJerk< T >Templatized Class working as a function object to calculate acceleration and jerk in parallel
oCswarm::gpu::bppt::GravitationAccJerkScalars< W >Unit type of the acceleration and jerk pairs shared array
oCswarm::gpu::bppt::GravitationAccScalars< W >Unit type of the acceleration pairs shared array
oCswarm::gpu::bppt::GravitationLargeN< T >Gravitation calculation class for large number of bodies in a system
oCswarm::gpu::bppt::GravitationMediumN< T >Gravitation calculation for a number of bodies between 10-20 EXPERIMENTAL: This class is not thoroughly tested
oCswarm::snapshot::headerData structure used in binary files. This is meant to be found at offset 0 of the file
oCgpulog::internal::headerLog record header
oCswarm::gpu::bppt::HermitePropagator< T, Gravitation >GPU implementation of hermite propagator It is of no practical use since hermite integrator implements the same functionaliy faster
oCswarm::gpu::bppt::HermitePropagatorParamsParamaters for HermitePropagator
oCgpulog::internal::host_internalsHost internals encapsulation for log_base<> template
oCHostAllocator< T >CUDA host memory allocator uses cudaMallocHost,cudaMemcpy,cudaFreeHost Host memory allocator is similar to malloc. The pointers point to memory that can be used by C++. However, CUDA documentation claims that copying to device memory from a CUDA allocated host array is faster than memory allocated using malloc
oCswarm::query::idx_tSort the raw outputs
oCgpulog::internal::ilogstreamStream of logrecords
oCswarm::query::index_creator< Cmp >Define class for creating index
oCswarm::query::swarmdb::index_entryStructure for index entry
oCswarmng.logdb.IndexedLogDBInterface to BDB log files
oCswarmng.IntegratorAn ODE integration algorithms
oCswarm::integratorInterface class for all integrators
oCstd::ios_baseSTL class
oCboost::is_pod< ::std::pair< First, Second > >Marks a std::pair of PODs as a POD
oCswarm::launch_template_choose< N >Structure crafted to be used with choose template
oCgpulog::internal::log_base< A >Log template with the write() implementations
oCgpulog::internal::log_base< host_internals >
oCswarm::monitors::log_time_interval< log_t >Monitor that logs the entire state of systems at periodic intervals of approximately "log_interval" Systems may be integrated for more than log interval before another log entry is written
oCswarm::monitors::log_time_interval_paramsParameters for log_time_interval monitor log_on_interval (bool): log_interval (real): time between sucessive logging
oCswarm::monitors::log_transit< log_t >Monitor that logs (the estimated transit time, the estimated minimum impact parameter in units of stellar radii, and the estimated velocity projected onto the planet of the sky in units of stellar radii per time) at times near a transit EXPERIMENTAL: This class is not thoroughly tested
oCswarm::monitors::log_transit_paramsParameters for log_transit monitor log_transit_tol (real): desired precision of transit times (zero makes inactive)
oCgpulog::internal::logrecordLog unserialization - reads elements from a log record
oCswarmng.logrecord.LogRecordData structure equivalent of the logrecord defined in Swarm-NG C++ library This class does not use any C++ code, intead it uses pack/unpack to directly parse the binary format into Python variables
oCswarm::log::managerManage CPU/GPU logs and writing them to appropriate output
oCstd::map< K, T >STL class
oCpeyton::system::MemoryMapClass for memory mapping
oCswarm::gpu::bppt::MidpointPropagator< T, Gravitation >GPU implementation of modified midpoint method propagator
oCswarm::gpu::bppt::MidpointPropagatorParamsParamaters for MidpointPropagator
oCswarm::monitors::monitor_template< log_t >Empty monitor to use as a template
oCswarm::monitors::monitor_template_paramsStructure for monitor_template_params
oCswarm::gpu::bppt::MVSPropagator< T, Gravitation >GPU implementation of mixed variables symplectic propagator
oCswarm::gpu::bppt::MVSPropagatorParamsParamaters for MvsPropagator
oCparabolic_collision.ParabolicTest
oCparameter_rangeData structure hold the values for a range of parameters
oCswarm::monitors::stop_on_ejection_or_close_encounter< L >::paramsDefine the structure params
oCswarm::monitors::stop_on_ejection_or_close_encounter_or_crossing_orbit< L >::paramsDefines parameter structure
oCswarmng.logdb.PKeyPrimary key of the log file database
oCgpulog::internal::pktsize< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 >Struct template to compile-time compute (properly aligned) offsets and sizes of passed types
oCgpulog::internal::pktsize< gpulog::internal::header, T1 >
oCswarm::pluginAbstract interface class for all plugins
oCswarm::plugin_initializer< T >Template class to add your plugin to the list of plugins
oCswarmng.range_type.RangeSimple data structure to specify a range and test against it This is different from Python range object since it has methods for testing if a number is in range and also supports infinite ranges
oCswarm::query::range< T >Structure defines data range
oCswarm::query::range< double >
oCswarm::query::range< int >
oCswarm::EnsembleBase< _CHUNK_SIZE, _NUM_BODY_ATTRIBUTES, _NUM_SYS_ATTRIBUTES >::range_tA simple data structure to calculate statistical measures on a range of values
oCswarm::query::swarmdb::resultDefines query result structure
oCswarm::query::swarmdb::snapshotsDefines snapshots structure
oCswarm::monitors::stop_on_all_but_two_at_large_distance< log_t >Simple monitor that signals and logs when no more than two bodies are within a distance "rmax" of origin or another body
oCswarm::monitors::stop_on_all_but_two_at_large_distance_paramsParameters for stop_on_all_but_two_at_large_distance monitor deactivate_on_close_encounter (bool): log_on_close_encounter (bool): verbose_on_close_encounter (bool): rmax (real): minimum distance between bodies to be considered isolated
oCswarm::monitors::stop_on_any_large_distance< log_t >Simple monitor that logs when any one body is separated from EXPERIMENTAL: This class is not thoroughly tested
oCswarm::monitors::stop_on_any_large_distance_paramsParameters for stop_on_any_large_distance monitor deactivate_on_close_encounter (bool): log_on_close_encounter (bool): verbose_on_close_encounter (bool): rmax (real): minimum distance between bodies to trigger
oCswarm::monitors::stop_on_close_encounter< log_t >Simple monitor to detect close encounters
oCswarm::monitors::stop_on_close_encounter< L >
oCswarm::monitors::stop_on_close_encounter_paramParameters for stop_on_close_encounter monitor deactivate_on_close_encounter (bool): log_on_close_encounter (bool): verbose_on_close_encounter (bool): close_approach (real): maximum distance in Hill radii to trigger action
oCswarm::monitors::stop_on_collision< log_t >Simple monitor to detect physical collisions
oCswarm::monitors::stop_on_collision_paramParameters for stop_on_collision monitor deactivate_on_collision (bool): log_on_collision (bool): verbose_on_collision (bool): collision_distance_to_origin (real): default distance or collision if individual radii not avaliable
oCswarm::monitors::stop_on_crossing_orbit< log_t >Stopping monitor to detect crossing orbits for planets EXPERIMENTAL: This class is not thoroughly tested
oCswarm::monitors::stop_on_crossing_orbit< L >
oCswarm::monitors::stop_on_crossing_orbit_paramsParameters for stop_on_crossing_orbit monitor deactivate_on_crossing (bool): log_on_crossing (bool): verbose_on_crossing (bool):
oCswarm::monitors::stop_on_ejection< log_t >Simple monitor that signals and logs when any body (other than body 0) meets all of the following criteria:
oCswarm::monitors::stop_on_ejection< L >
oCswarm::monitors::stop_on_ejection_or_close_encounter< L >Combination of stop_on_ejcetion and stop_on_close_encounter EXPERIMENTAL: This class is not thoroughly tested
oCswarm::monitors::stop_on_ejection_or_close_encounter_or_crossing_orbit< L >Combination of stop_on_ejcetion, stop_on_close_encounter and stop_on_crossing_orbit
oCswarm::monitors::stop_on_ejection_paramsParameters for stop_on_ejection monitor deactivate_on_ejection (bool): log_on_ejection (bool): verbose_on_ejection (bool): rmax (real): minimum distance to check for ejections
oCstopwatchClass for benchmarking cpu & gpu performance. Based on NVIDIA's LinuxStopWatch class
oCswarm::query::swarmdbDefines swarmdb class
oCswarm::EnsembleBase< _CHUNK_SIZE, _NUM_BODY_ATTRIBUTES, _NUM_SYS_ATTRIBUTES >::SysStructure for quantities stored per system
oCswarm::snapshot::sysData structure used in binary files. parameters for a system. This comes right after the header and is followed by nbod number of body structs
oCswarm::query::sysinfoDefine structure sysinfo
oCswarmng.SystemA planetary system within an ensemble
oCswarm::EnsembleBase< _CHUNK_SIZE, _NUM_BODY_ATTRIBUTES, _NUM_SYS_ATTRIBUTES >::SystemRefReference to a system within an ensemble
oCswarm::EnsembleBase< _CHUNK_SIZE, _NUM_BODY_ATTRIBUTES, _NUM_SYS_ATTRIBUTES >::SystemRefConstConstant encapsulation of SystemRef If the ens is constant use: SystemRefConst s = ens[i];
oCswarm::gpu::bppt::hermite_adap< Monitor, Gravitation >::SystemSharedData< T >Date structure for system shared data
oCgpulog::internal::ttrait< T >Type traits, scalar type
oCgpulog::internal::ttrait< body[N]>
oCgpulog::internal::ttrait< Tunspec >Type traits, type unspecified
oCgpulog::internal::Tunspec"unspecified datatype" marker for pktsize structure
oCTutorialPropagator< T, Gravitation >Class TutorialPropagator
oCTutorialPropagatorParamsData structure for TutorialPropagator
oCUnroller< Begin, End, Step >Template helper for unrolling of loops This template helper is used for unrolling loops This and the template specialization below provide a pattern matching recursive function that is evaluated at compile time and generates code for unrolling a function
oCswarm::gpu::bppt::VerletPropagator< T, Gravitation >GPU implementation of Verlet propagator
oCswarm::gpu::bppt::VerletPropagatorParamsParamaters for VerletPropagator
\Cswarm::log::writerAbstract output writer interface