chrono::particlefactory::ChParticleProcessEvent Class Referenceabstract

Description

BASE class for all event processors of single particles You can directly use the ready-to-use processor for basic behaviors (remove particle, count particle, etc.), or inherit your own class with custom event processing.

#include <ChParticleProcessEvent.h>

Inheritance diagram for chrono::particlefactory::ChParticleProcessEvent:

Public Member Functions

virtual void ParticleProcessEvent (std::shared_ptr< ChBody > mbody, ChSystem &msystem, std::shared_ptr< ChParticleEventTrigger > mprocessor)=0
 Children class MUST implement this function according to their desired behavior. More...
 
virtual void SetupPreProcess (ChSystem &msystem)
 Children classes might optionally implement this. More...
 
virtual void SetupPostProcess (ChSystem &msystem)
 Children classes might optionally implement this. More...
 

Member Function Documentation

virtual void chrono::particlefactory::ChParticleProcessEvent::ParticleProcessEvent ( std::shared_ptr< ChBody mbody,
ChSystem msystem,
std::shared_ptr< ChParticleEventTrigger mprocessor 
)
pure virtual

Children class MUST implement this function according to their desired behavior.

For example, one class might be used to delete the particles when event is triggered, so here it will remove the particle, etc.

Implemented in chrono::particlefactory::ChParticleProcessEventMassDistribution, chrono::particlefactory::ChParticleProcessEventMassCount, chrono::particlefactory::ChParticleProcessEventCount, chrono::particlefactory::ChParticleProcessEventRemove, and chrono::particlefactory::ChParticleProcessEventDoNothing.

virtual void chrono::particlefactory::ChParticleProcessEvent::SetupPostProcess ( ChSystem msystem)
virtual

Children classes might optionally implement this.

The ChParticleProcessor will call this once, after each ProcessParticles()

Reimplemented in chrono::particlefactory::ChParticleProcessEventRemove.

virtual void chrono::particlefactory::ChParticleProcessEvent::SetupPreProcess ( ChSystem msystem)
virtual

Children classes might optionally implement this.

The ChParticleProcessor will call this once, before each ProcessParticles()

Reimplemented in chrono::particlefactory::ChParticleProcessEventRemove.