25 const T &
getData(
unsigned int grain_id)
const;
29 virtual T
newGrain(
unsigned int new_grain_id) = 0;
39 :
GrainTracker(parameters), _grain_data(declareRestartableData<
std::vector<T>>(
"grain_data"))
47 mooseAssert(grain_id < _grain_data.size(),
"Requested data for invalid grain index.");
48 return _grain_data[grain_id];
55 if (_grain_data.size() <= new_grain_id)
56 _grain_data.resize(new_grain_id + 1);
58 _grain_data[new_grain_id] = newGrain(new_grain_id);
const T & getData(unsigned int grain_id) const
return data for selected grain
std::vector< T > & _grain_data
per grain data
virtual void newGrainCreated(unsigned int new_grain_id)
This method is called when a new grain is detected.
GrainDataTracker(const InputParameters ¶meters)
virtual T newGrain(unsigned int new_grain_id)=0
implement this method to initialize the data for the new grain
const InputParameters & parameters() const
GrainTracker derived class template to base objects on which maintain physical parameters for individ...