Line data Source code
1 : /**********************************************************************/ 2 : /* DO NOT MODIFY THIS HEADER */ 3 : /* MAGPIE - Mesoscale Atomistic Glue Program for Integrated Execution */ 4 : /* */ 5 : /* Copyright 2017 Battelle Energy Alliance, LLC */ 6 : /* ALL RIGHTS RESERVED */ 7 : /**********************************************************************/ 8 : 9 : #pragma once 10 : 11 : #include "GeneralPostprocessor.h" 12 : #include "mytrim/ion.h" 13 : 14 : class MyTRIMRasterizer; 15 : 16 : class MyTRIMPKAInfo : public GeneralPostprocessor 17 : { 18 : public: 19 : static InputParameters validParams(); 20 : 21 : MyTRIMPKAInfo(const InputParameters & parameters); 22 : 23 : virtual void initialize() override; 24 : virtual void execute() override; 25 : virtual void finalize() override; 26 : 27 : using Postprocessor::getValue; 28 : virtual Real getValue() const override; 29 : 30 : protected: 31 : /// override this function to add conditions for the considered PKAs 32 30681 : virtual bool skipPKA(const MyTRIM_NS::IonBase & /*ion*/) const { return false; } 33 : 34 : /// the rasterizer object to pull data from 35 : const MyTRIMRasterizer & _rasterizer; 36 : 37 : /// which quantity is to be aggregated; 38 : enum ValueType 39 : { 40 : TOTAL_MASS = 0, 41 : TOTAL_ENERGY, 42 : TOTAL_CHARGE, 43 : TOTAL_NUMBER 44 : } _value_type; 45 : 46 : /// the value this PP computes (determined by the value_type parameter) 47 : Real _value; 48 : };