void System::preinitialize() { // no need to call subsystems' initialize() -- the Model does this if ( !theStepper ) { theStepper = theModel->getStepper( theStepperID ); theStepper->registerSystem( this ); } // // Set Process::theStepper. // for ( ProcessMap::const_iterator i( theProcessMap.begin() ); i != theProcessMap.end() ; ++i ) { Process* aProcess( i->second ); if( !aProcess->getStepper() ) { aProcess->setStepper( getStepper() ); } } configureSizeVariable(); }
BOOL CProcess::OnEnuming( DWORD dwPID ) { CProcess aProcess(dwPID); if (aProcess.CheckImageName(m_strFileName)) { Attach(dwPID); return FALSE; } return TRUE; }
void checkMainProcessInStepper() { // pick up main system from SpatioStepper System* aRootSystem( stepperData->getModel()->getRootSystem() ); // check value of Processes in main system Process* aProcess( aRootSystem->getProcess( "populate" ) ); BOOST_CHECK( aProcess->getProcessName() == "MoleculePopulateProcess" ); BOOST_CHECK( aProcess->getVariableReference( "___00" ).getVariable()->getValue() == SOURCE_SUBSYS ); BOOST_CHECK( aProcess->getVariableReference( "___01" ).getVariable()->getValue() == A_SUBSYS ); BOOST_CHECK( aProcess->getVariableReference( "___02" ).getVariable()->getValue() == B_SUBSYS ); BOOST_CHECK( aProcess->getVariableReference( "___03" ).getVariable()->getValue() == C_SUBSYS ); BOOST_CHECK( aProcess->getVariableReference( "___04" ).getVariable()->getValue() == SOURCE_SUBSYS2 ); BOOST_CHECK( aProcess->getVariableReference( "___05" ).getVariable()->getValue() == A_SUBSYS2 ); BOOST_CHECK( aProcess->getVariableReference( "___06" ).getVariable()->getValue() == B_SUBSYS2 ); BOOST_CHECK( aProcess->getVariableReference( "___07" ).getVariable()->getValue() == C_SUBSYS2 ); }
void checkSubProcess2InStepper() { // pick up main system from SpatioStepper System* aRootSystem( stepperData->getModel()->getRootSystem() ); // pick up sub system from main system System* aSubSystem2( aRootSystem->getSystem( "/Cell1" ) ); // check value of Processes in sub system Process* aProcess( aSubSystem2->getProcess( "diffusion_A" ) ); BOOST_CHECK( aProcess->getProcessName() == "DiffusionProcess" ); BOOST_CHECK( reinterpret_cast< DiffusionProcess* >( aProcess )->getD() == 1e-12 ); BOOST_CHECK( aProcess->getVariableReference( "___00" ).getVariable()->getValue() == A_SUBSYS2 ); aProcess = aSubSystem2->getProcess( "diffusion_B" ); BOOST_CHECK( aProcess->getProcessName() == "DiffusionProcess" ); BOOST_CHECK( reinterpret_cast< DiffusionProcess* >( aProcess )->getD() == 0.1e-12 ); BOOST_CHECK( aProcess->getVariableReference( "___00" ).getVariable()->getValue() == B_SUBSYS2 ); aProcess = aSubSystem2->getProcess( "degradation_A" ); BOOST_CHECK( aProcess->getProcessName() == "SpatiocyteNextReactionProcess" ); BOOST_CHECK( reinterpret_cast< SpatiocyteNextReactionProcess* >( aProcess )->getk() == 0.05 ); BOOST_CHECK( aProcess->getVariableReference( "___00" ).getVariable()->getValue() == A_SUBSYS2 ); BOOST_CHECK( aProcess->getVariableReference( "___01" ).getVariable()->getValue() == VACANT_SUBSYS2 ); BOOST_CHECK( aProcess->getVariableReference( "___00" ).getCoefficient() == -1 ); BOOST_CHECK( aProcess->getVariableReference( "___01" ).getCoefficient() == 1 ); aProcess = aSubSystem2->getProcess( "degradation_B" ); BOOST_CHECK( aProcess->getProcessName() == "SpatiocyteNextReactionProcess" ); BOOST_CHECK( reinterpret_cast< SpatiocyteNextReactionProcess* >( aProcess )->getk() == 0.03 ); BOOST_CHECK( aProcess->getVariableReference( "___00" ).getVariable()->getValue() == B_SUBSYS2 ); BOOST_CHECK( aProcess->getVariableReference( "___01" ).getVariable()->getValue() == VACANT_SUBSYS2 ); BOOST_CHECK( aProcess->getVariableReference( "___00" ).getCoefficient() == -1 ); BOOST_CHECK( aProcess->getVariableReference( "___01" ).getCoefficient() == 1 ); aProcess = aSubSystem2->getProcess( "reaction_AB" ); BOOST_CHECK( aProcess->getProcessName() == "DiffusionInfluencedReactionProcess" ); BOOST_CHECK( reinterpret_cast< DiffusionInfluencedReactionProcess* >( aProcess )->getk() == 1.5e-20 ); BOOST_CHECK( aProcess->getVariableReference( "___00" ).getVariable()->getValue() == A_SUBSYS2 ); BOOST_CHECK( aProcess->getVariableReference( "___01" ).getVariable()->getValue() == B_SUBSYS2 ); BOOST_CHECK( aProcess->getVariableReference( "___02" ).getVariable()->getValue() == C_SUBSYS2 ); BOOST_CHECK( aProcess->getVariableReference( "___00" ).getCoefficient() == -1 ); BOOST_CHECK( aProcess->getVariableReference( "___01" ).getCoefficient() == -1 ); BOOST_CHECK( aProcess->getVariableReference( "___02" ).getCoefficient() == 1 ); aProcess = aSubSystem2->getProcess( "decay_C" ); BOOST_CHECK( aProcess->getProcessName() == "SpatiocyteNextReactionProcess" ); BOOST_CHECK( reinterpret_cast< SpatiocyteNextReactionProcess* >( aProcess )->getk() == 0.5 ); BOOST_CHECK( aProcess->getVariableReference( "___00" ).getVariable()->getValue() == C_SUBSYS2 ); BOOST_CHECK( aProcess->getVariableReference( "___01" ).getVariable()->getValue() == A_SUBSYS2 ); BOOST_CHECK( aProcess->getVariableReference( "___02" ).getVariable()->getValue() == B_SUBSYS2 ); BOOST_CHECK( aProcess->getVariableReference( "___00" ).getCoefficient() == -1 ); BOOST_CHECK( aProcess->getVariableReference( "___01" ).getCoefficient() == 1 ); BOOST_CHECK( aProcess->getVariableReference( "___02" ).getCoefficient() == 1 ); aProcess = aSubSystem2->getProcess( "synthesis_B" ); BOOST_CHECK( aProcess->getProcessName() == "SpatiocyteNextReactionProcess" ); BOOST_CHECK( reinterpret_cast< SpatiocyteNextReactionProcess* >( aProcess )->getk() == 10.25 ); BOOST_CHECK( aProcess->getVariableReference( "___00" ).getVariable()->getValue() == SOURCE_SUBSYS2 ); BOOST_CHECK( aProcess->getVariableReference( "___01" ).getVariable()->getValue() == SOURCE_SUBSYS2 ); BOOST_CHECK( aProcess->getVariableReference( "___02" ).getVariable()->getValue() == B_SUBSYS2 ); BOOST_CHECK( aProcess->getVariableReference( "___00" ).getCoefficient() == -1 ); BOOST_CHECK( aProcess->getVariableReference( "___01" ).getCoefficient() == 1 ); BOOST_CHECK( aProcess->getVariableReference( "___02" ).getCoefficient() == 1 ); aProcess = aSubSystem2->getProcess( "forward_A" ); BOOST_CHECK( aProcess->getProcessName() == "SpatiocyteNextReactionProcess" ); BOOST_CHECK( reinterpret_cast< SpatiocyteNextReactionProcess* >( aProcess )->getk() == 0.3 ); BOOST_CHECK( aProcess->getVariableReference( "___00" ).getVariable()->getValue() == A_SUBSYS ); BOOST_CHECK( aProcess->getVariableReference( "___01" ).getVariable()->getValue() == A_SUBSYS2 ); BOOST_CHECK( aProcess->getVariableReference( "___00" ).getCoefficient() == -1 ); BOOST_CHECK( aProcess->getVariableReference( "___01" ).getCoefficient() == 1 ); aProcess = aSubSystem2->getProcess( "backward_A" ); BOOST_CHECK( aProcess->getProcessName() == "SpatiocyteNextReactionProcess" ); BOOST_CHECK( reinterpret_cast< SpatiocyteNextReactionProcess* >( aProcess )->getk() == 0.4 ); BOOST_CHECK( aProcess->getVariableReference( "___00" ).getVariable()->getValue() == A_SUBSYS ); BOOST_CHECK( aProcess->getVariableReference( "___01" ).getVariable()->getValue() == A_SUBSYS2 ); BOOST_CHECK( aProcess->getVariableReference( "___00" ).getCoefficient() == 1 ); BOOST_CHECK( aProcess->getVariableReference( "___01" ).getCoefficient() == -1 ); aProcess = aSubSystem2->getProcess( "forward_B" ); BOOST_CHECK( aProcess->getProcessName() == "SpatiocyteNextReactionProcess" ); BOOST_CHECK( reinterpret_cast< SpatiocyteNextReactionProcess* >( aProcess )->getk() == 0.4 ); BOOST_CHECK( aProcess->getVariableReference( "___00" ).getVariable()->getValue() == B_SUBSYS ); BOOST_CHECK( aProcess->getVariableReference( "___01" ).getVariable()->getValue() == B_SUBSYS2 ); BOOST_CHECK( aProcess->getVariableReference( "___00" ).getCoefficient() == -1 ); BOOST_CHECK( aProcess->getVariableReference( "___01" ).getCoefficient() == 1 ); aProcess = aSubSystem2->getProcess( "backward_B" ); BOOST_CHECK( aProcess->getProcessName() == "SpatiocyteNextReactionProcess" ); BOOST_CHECK( reinterpret_cast< SpatiocyteNextReactionProcess* >( aProcess )->getk() == 0.3 ); BOOST_CHECK( aProcess->getVariableReference( "___00" ).getVariable()->getValue() == B_SUBSYS ); BOOST_CHECK( aProcess->getVariableReference( "___01" ).getVariable()->getValue() == B_SUBSYS2 ); BOOST_CHECK( aProcess->getVariableReference( "___00" ).getCoefficient() == 1 ); BOOST_CHECK( aProcess->getVariableReference( "___01" ).getCoefficient() == -1 ); }