public SimulationParameters(int simNum, LaBoGridConfiguration laboConf, DistributedAgent da) throws LBException { this.simNum = simNum; this.laboConf = laboConf; simDesc = laboConf.getExperienceDescription().getSimulationDescription(simNum); LBConfiguration lbConf = laboConf.getLBConfiguration(simDesc.getLBConfigurationId()); latticeClass = lbConf.getLatticeDescription().getClassName(); solidClass = lbConf.getSolidDescription().getClassName(); String chainId = simDesc.getProcessingChainId(); ProcessingChainDescription pcd = laboConf.getProcessingChain(chainId); powerDesc = SimulationDescription.getPowerDescriptor(latticeClass, pcd); procChain = ProcessingChain.getOperatorsChain(pcd, false); // Set output client. IODescription outDesc = simDesc.getOutput(); if (outDesc != null) { try { outputClient = outDesc.getOutputClient(); outputClient.setDistributedAgent(da); } catch (Exception e) { throw new LBException("Could not start output client", e); } } // Set input client. IODescription inDesc = simDesc.getInput(); if (inDesc != null) { try { inputClient = inDesc.getInputClient(); inputClient.setDistributedAgent(da); } catch (Exception e) { throw new LBException("Could not start input client", e); } } }
public ProcessingChain getProcessingChainCopy() { return procChain.clone(); }