Simple timed event template class
This answer may come across as harsh, but it is not supposed to be.
Your code looks good, BUT it lacks any comments so it’s quite difficult for other people to understand what it’s purpose is.  I have no doubt that today you know what your code does, but if you are working in a professional capacity in three months time when you have written another several thousand lines you won’t remember.
You have used base classes, but we can’t see them, this means we have even less understanding of the code.
Your coding styles are nice and clean, but you need to decide which one to use for instance you’ve got camel case and underscores in variable names.
It’s possible that things are being done in the base classes that I can’t see, but you seem to be dereferencing pointers without verifying they are not null.  See *pData, which isn’t initialised.
And a really minor thing length could be a const variable.
You say you want to optimise the code.  What problems are there with it?  Have you benchmarked it’s current performance, where is most of the time spent?