Power up laser modeland tests

Moved codes for laser computations into a separate class, the laserModel, and implemented unit tests for this model