Skip to content

Complete C++ class catalog

This is the searchable inventory of C++ types installed by uLib's library CMake targets. It is organized by public header, which is the reliable answer to “what is exported?” for a C++ consumer. Forward declarations of external Qt, VTK, ROOT, Geant4, Eigen, and Boost types are intentionally omitted.

Templates, aliases, macros, free functions, and enums are listed where they are the normal way to use a class family. For explanations and executable workflows, use the linked layer guides: Core, Math, HEP and Geant, VTK and ROOT, and streaming.

Library target Installed header root Scope
mutomuProps Core/uprops/ Standalone property, signaling, archives, schemas, and streams.
mutomCore Core/ Object model, contexts, algorithms, codecs, and scene documents.
mutomMath Math/ Geometry, transforms, meshes, images, tables, and filters.
mutomDetectors HEP/Detectors/ Detector and muon measurement data.
mutomMuonTomography HEP/MuonTomography/ Muon image reconstruction.
mutomGeant HEP/Geant/ Optional Geant4 scene and simulation integration.
mutomVtk Vtk/ Optional VTK/Qt display adapters.
mutomRoot Root/ Optional ROOT plotting, data, and file adapters.

Depending on the installation prefix, an application's include directory may already be the package header root. The include spellings below use the installed-header convention used by the project, for example #include <Core/Object.h>.

Core and uprops

uprops

Header Public classes, structs, templates, or aliases
PropertyBase.h PropertyBase, IProperty<T>, property snapshot/change types.
Property.h Property<T>, EnumProperty<T>, FunctionalProperty<T>, FunctionalEnumProperty<T>.
Action.h ActionProperty.
PropertyContainer.h PropertyContainer.
Metadata.h PropertyMetadata and metadata helpers.
Algorithm.h uprops::Algorithm.
Stream.h StreamProducer<T>, StreamActivator, ActivatableStream, WaitableStream<T>, StreamQueue<T>, StreamInput<T>, StreamOutput<ValueT, ObjectT>.
Schema.h SchemaValue, SchemaField, SchemaTable, SchemaId, Schema.
SchemaArchive.h schema input/output archive support.
SchemaRegistry.h SchemaRegistry.
TypeSystem.h TypeUri, TypeId, TypeMember, TypeDescriptor, TypeRegistry.
Serializable.h Serializable, hrp archive wrappers.
Archives.h text, binary, XML, human-readable, log, schema, and polymorphic archive types.
Signal.h, SignalKeywords.h signals, connections, and signal declaration macros.
Function.h, StringReader.h function/string utility types.
backend/IPropertyBackend.h, backend/IPropertySubscriber.h IPropertyBackend, IPropertySubscriber.
backend/IEncoder.h, backend/IDecoder.h, backend/IObjectEncoder.h, backend/IObjectDecoder.h encoder/decoder interfaces.
backend/DataFrame.h EncodingId, DataFrame, MessageFrame.
backend/BinaryCodec.h, backend/ProtocolCodec.h, backend/CodecRegistry.h BinaryEncoder, BinaryDecoder, protocol codecs, CodecRegistry.
backend/LocalSignalBackend.h, backend/LoopbackBackend.h, backend/RemoteBackendInterface.h in-process, loopback, and remote property backends; ScopedPublicationSuppression.
backend/PropertyServer.h, backend/PropertyClient.h optional network property server/client.
backend/flatbuffers/FlatBuffersCodec.h optional FlatBuffers encoder/decoder.

Core object and algorithm model

Header Public classes, structs, templates, or aliases
Object.h Object, Version.
ObjectsContext.h ObjectsContext, TopDownGuard.
ObjectFactory.h ObjectFactory, ObjectRegistrar<T>, ObjectWrapper<T>; ULIB_REGISTER_OBJECT* macros.
ObjectCatalog.h ObjectCatalog.
NodeGraphProp.h NodeGraphProp.
Algorithm.h Algorithm, AlgorithmTask.
Modifier.h Modifier.
EchoAlgorithm.h, DescribeAlgorithm.h EchoAlgorithm, DescribeAlgorithm.
Recipe.h Recipe, RecipeDeclaration, recipe bridge/control helper structs.
RecipeStreamChain.h RecipeStreamChain, RecipeStreamChainKind, BuildRecipeStreamChain.
Property.h Core object-aware Property<T>, EnumProperty, FunctionalProperty<T>, FunctionalEnumProperty, ActionProperty, ReferencePropertyBase, TypedReferenceProperty<T>, ReferenceProperty<T>, FunctionalReferenceProperty<T>.
PropertyBridge.h PropertyBridge.
Signal.h, Function.h Core signal/function compatibility types and macros.

Core streams, codecs, and data

Header Public classes, structs, templates, or aliases
Stream.h aliases IStreamProducer, IStreamActivator, IActivatableStream, IStreamWaitProducer, StreamQueue<T>, StreamInput, StreamOutput<T>; GenericStreamProducer.
Collection.h Abstract::Collection<T>, Collection<T>.
DataSource.h DataSource.
DataSink.h DataSink.
DataBuffer.h DataBuffer.
DataCodec.h DataCodec.
DataEnvelope.h DataEnvelope.
ObjectCodec.h object encode/decode helpers and DecodeScope.
DataAllocator.h DataAllocator<T>.
CompressedStream.h CompressedWriter, CompressedReader.

Core persistence, runtime, and utilities

Header Public classes, structs, templates, or aliases
SceneDocument.h DocumentHeader, ReferenceRecord, ConnectionRecord, ObjectRecord, ViewportRecord, LayoutNode, LayoutRecord, SceneDocument.
Serializable.h, Archives.h Core serialization façade and Boost archive aliases.
ContextClient.h, ContextServer.h ContextClient, ContextServer.
PythonPluginRegistry.h PythonPluginRegistry.
UpdateScheduler.h UpdateScheduler, CoalescedCall.
SmartPointer.h SmartPointer<T>, control/reference-count support.
Array.h Array<T, N>, SmartArray<T, N>.
Threads.h Thread, Task, Team.
Monitor.h Mutex, ScopedLock, ScopedTimedLock, RecursiveMutex, Monitor.
TypeId.h, Types.h, Uuid.h TypeId, type-introspection helpers, TypeRegister.
Options.h Options.
Debug.h Debug, debug-adapter interfaces.
StaticInterface.h, Singleton.h, Mpl.h, Macros.h, Export.h, Vector.h interface, singleton, metaprogramming, macro, export, and vector support.

Math

Header Public classes, structs, templates, or aliases
Dense.h Eigen-compatible vectors/matrices; HPoint3f, HVector3f, HLine3f, HError3f, and precision variants.
Geometry.h Geometry, LinearGeometry, CylindricalGeometry, SphericalGeometry, ToroidalGeometry.
LineGeometry.h ClosestApproach and line-geometry functions.
Transform.h AffineTransform, TRS, CoordinateMode.
TransformModifier.h TransformModifier.
ContainerBox.h, Cylinder.h, Assembly.h ContainerBox, Cylinder, Assembly.
StructuredData.h, StructuredGrid.h, Structured2DGrid.h, Structured4DGrid.h StructuredData, StructuredGrid, Structured2DGrid, Structured4DGrid, structured-data enums.
VoxImage.h Abstract::VoxImage, VoxImage<VoxelT>, Voxel.
MultiVoxImage.h VoxChannel, MultiVoxImage.
VoxRaytracer.h VoxRaytracer, VoxRaytracer::RayData, RayData::Element.
VoxImageFilter.h and filter .hpp headers Abstract::VoxImageFilter, VoxImageFilterShape, VoxImageFilterKernel, VoxImageFilter, linear/median/threshold/AB-trim/bilateral/Gaussian image filters and the matching VoxFilterAlgorithm* strategies.
TessellatedMesh.h, TriangleMesh.h, QuadMesh.h TessellatedMesh, TriangleMesh, QuadMesh.
EventTable.h, Histogram.h, PointSet.h EventTable, HistogramAxis, Histogram, PointSet.
Accumulator.h Accumulator_Mean<T>, Accumulator_ABTrim<T>, Accumulator_ABClip<T>.
BitCode.h BitCode2, BitCode3, BitCode4, BitCode and bit-field helpers.
Utils.h, Units.h, CLHEP_defs.hh math utility and units definitions.

HEP and Geant

Detectors

Header Public classes, structs, templates, or aliases
DetectorChamber.h DetectorChamber, ChamberFootprintAccepts, chamber-plane labels.
Hit.h, HitMC.h HitRawCode_CMSDrift, HitData, HitMCData, HitMC.
ChamberHitEvent.h ChamberHitEventData, ChamberHitEvent.
MuonEvent.h, MuonError.h, LinearFit.h, ExperimentFitEvent.h MuonEventData, MuonEvent, MuonErrorData, MuonError, LinearFitData, LinearFit, ExperimentFitEventData.
MuonScatter.h, MuonScatterCollection.h, MuonScatterEvent.h MuonScatter, MuonScatterCollection, MuonScatterEvent.
MuonScatterSink.h, MuonScatterSource.h IMuonScatterSink, MuonScatterSource.
HierarchicalEncoding.h detector hierarchical encoding support.

Muon tomography

Header Public classes
MuonTomographyAlgorithm.h MuonTomographyAlgorithm.
MuonTomographyImaging.h PocaImageAlgorithm, RayLengthImageAlgorithm.

Geant

All types in this section are available only when Geant4 is found at build time.

Header Public classes, structs, or aliases
Scene.h, SimulationContext.h Geant::Scene, SimulationContext, DetectorPlane, SimulationMode.
Solid.h Solid, LogicalVolume, PhysicalVolume, primitive solid classes, Boolean solids, and supporting records.
Volumes.h ReplicaVolume, DivisionVolume, ParameterisedVolume, AssemblyVolume, Region.
Matter.h Isotope, Element, MaterialComponent, Material.
Field.h CarrierRecord, UserLimits, Field, MagneticField, ElectricField.
Sources.h, EmitterPrimary.hh, EcoMug.hh ParticleGun, IsotropicSource, EmitterPrimary, SkyPlaneEmitterPrimary, CylinderEmitterPrimary, QuadMeshEmitterPrimary, EMLog, EMRandom, EMMaximization, EMMultiGen, EcoMug.
Actions.h, ActionInitialization.hh, DetectorActionInitialization.hh, SteppingAction.hh, DetectorSteppingAction.hh RunSummary, TrackRecord, TrackRecorder, action/stepping initialization classes.
DetectorConstruction.hh, Physics.h, PhysicsList.hh DetectorConstruction, Physics, PhysicsList.
GeantEvent.h, GeantEventCollection.h GeantEvent, GeantEvent::Delta, GeantEventCollection.
Sensitive.h, Scoring.h, ScoringMesh.h Hit, SensitiveDetector, ScoringFilter, ParticleFilter, ChargeFilter, EnergyFilter, Scorer, ScoringDetector, ScoringMesh.
Digitizer.h, Optical.h, Parallel.h Digi, Digitizer, OpticalProperty, OpticalSurface, BorderSurface, ParallelWorld, ReflectedVolume.
Probe.h, Phantom.h, TrackFilter.h ProbeStep, ProbeStepRecord, PlaneProbe, VoxelPhantom, TrackFacts, TrackFilter.
Guard.h, AttachmentPorts.h GeantFailure, ExceptionScope, attachment port support.

The solid family named by Solid.h is: BoxSolid, CylinderSolid, SphereSolid, ConeSolid, TrapezoidSolid, TorusSolid, TessellatedSolid, OrbSolid, ParallelepipedSolid, GeneralTrapezoidSolid, EllipsoidSolid, EllipticalTubeSolid, EllipticalConeSolid, HyperboloidSolid, CutCylinderSolid, TwistedBoxSolid, TwistedTrapezoidSolid, TwistedCylinderSolid, TetrahedronSolid, ArbitraryTrapezoidSolid, PolyconeSolid, PolyhedraSolid, ExtrudedSolid, ScaledSolid, MultiUnionSolid, BooleanSolid, UnionSolid, IntersectionSolid, and SubtractionSolid.

VTK

Header Public classes, structs, templates, or aliases
uLibVtkInterface.h Vtk::Prop3D, display_properties_archive.
Prop3DFactory.h Prop3DFactory, Registration, Prop3DRegistrar<DomainT, PropT>, Prop3DCustomRegistrar, Prop3DAggregateVisualRegistrar<T>; registration macros.
vtkObjectsContext.h Vtk::ObjectsContext.
vtkViewport.h, uLibVtkViewer.h, vtkQViewport.h Vtk::Viewport, Vtk::Viewer, Vtk::QViewport.
vtkViewportProperties.h ViewportProperties.
vtkEditTools.h KeyStroke, EditKeymap, EditTool, EditAction.
vtkHandlerWidget.h, vtkMultiSelectionProp.h HandlerWidget, MultiSelectionProp.
Vtk/Math/*.h Vtk::Assembly, ContainerBox, Cylinder, HLineRepresentationDefault, Polydata, QuadMesh, StructuredGrid, TessellatedMesh, TransformModifier, TriangleMesh, VoxImage.
HEP/Detectors/VTK/*.h Vtk::DetectorChamber, MuonEvent, MuonScatter, MuonScatterCollection.
HEP/MuonTomography/VTK/*.h VoxRaytracerRepresentation.
HEP/Geant/VTK/*.h GeantEvent, GeantEventCollection, GeantSolid, PhysicalVolume, BoxSolid, TessellatedSolid, GeantScene, EmitterPrimary, source-specific primary representations, PlaneProbe.

ROOT

Header Public classes, structs, or functions
QCanvas.h QCanvas when Qt6 is enabled.
RootPlottable.h, RootPlotGroup.h Root::RootPlottable, Root::RootPlotGroup, plot-overlay enum.
RootHistogram.h, RootScatter.h Root::RootHistogram, Root::RootScatter.
RootScatterTree.h RootScatterWriter, RootScatterReader.
RootMuonScatter.h ROOT::Mutom::MuonScatter, ROOT::Mutom::MuonTrack.
RootHitRaw.h, RootMathDense.h ROOT::Mutom::Hit32, Hit64, HitRaw, Line3D.
RootSceneBlob.h, RootSceneFile.h ROOT::Mutom::SceneBlob, uLib::RootSceneSummary, scene ROOT-file read/write helpers.
RootMathIO.h ROOT math I/O functions.
muCastor*.h muCastorMCTrack, muCastorHit, muCastorInfo, muCastorSkinHit, muCastorPrimaryVertex, muCastorMuDetDIGI.
SkinDetectorWriter.h SkinDetectorWriter.

Streaming and data

The primary streaming and data class set is:

IStreamProducer, IStreamActivator, IActivatableStream, IStreamWaitProducer, StreamInput, StreamOutput<T>, StreamQueue<T>, GenericStreamProducer, Collection<T>, DataSource, DataSink, DataBuffer, DataCodec, and DataEnvelope. See the streaming guide for pull/push, codec, file, and embedded-data examples.