#include "TrackingMods/CT_SimulationModule.hh" #include "TrackingObjects/CT_Simulation/CT_Simulation.hh" CT_SimulationModule::CT_SimulationModule( const char* const theName, const char* const theDescription ) : AppModule( theName, theDescription ) , _shiftHitPositions("ShiftHitPositions", this, false) , _redoDriftModel("RedoDriftModel", this, false) , _hitResCM("HitResCM", this, 0.02) , _widthSpread("WidthSpread", this, 10.) { commands()->append( &_shiftHitPositions ); commands()->append( &_redoDriftModel ); commands()->append( &_hitResCM ); commands()->append( &_widthSpread ); } CT_SimulationModule::~CT_SimulationModule() {} AppResult CT_SimulationModule::beginJob( AbsEvent* aJob ) { CT_Simulation* psim = CT_Simulation::instance(); psim->hitResCM = _hitResCM.value(); psim->widthSpread = _widthSpread.value(); return AppResult::OK; } AppResult CT_SimulationModule::beginRun( AbsEvent* aRun ) { return AppResult::OK; } AppResult CT_SimulationModule::endRun( AbsEvent* aRun ) { return AppResult::OK; } AppResult CT_SimulationModule::endJob( AbsEvent* aJob ) { return AppResult::OK; } AppResult CT_SimulationModule::abortJob( AbsEvent* aJob ) { return AppResult::OK; } AppResult CT_SimulationModule::event( AbsEvent* anEvent ) { CT_Simulation* psim = CT_Simulation::instance(); psim->loadMCData(); bool doMerge = false; if (_shiftHitPositions.value()) { psim->shiftHitPositions(); doMerge = true; } if (_redoDriftModel.value()) { psim->redoDriftModel(); doMerge = true; } if (doMerge) psim->mergeHits(); return AppResult::OK; }