public RegisterMutatedPlanForPSim(PlanCatcher slave, char gene, boolean trackGenome, MatsimServices controler) { this.slave = slave; this.gene=gene; this.trackGenome = trackGenome; controler.addControlerListener(this); }
public StageContainer2AgentMoneyEvent(MatsimServices controler, TicketMachineI ticketMachine) { controler.addControlerListener(this); this.eventsManager = controler.getEvents(); this.mobsimShutdownTime = controler.getConfig().qsim().getEndTime(); this.ticketMachine = ticketMachine; }
@Override public void notifyStartup(StartupEvent event) { MatsimServices controler = event.getServices(); // compute or read maxDCScore but do not add it to the context: // context can then be given to scoring classes both during regular scoring and in pre-processing ReadOrComputeMaxDCScore computer = new ReadOrComputeMaxDCScore(dcContext); computer.readOrCreateMaxDCScore(controler.getConfig(), dcContext.kValsAreRead()); ObjectAttributes personsMaxDCScoreUnscaled = computer.getPersonsMaxEpsUnscaled(); for (String actType : this.dcContext.getFlexibleTypes()) { controler.addControlerListener(new DistanceStats(controler.getConfig(), "best", actType, dcContext.getConverter(), TransportMode.car)); controler.addControlerListener(new DistanceStats(controler.getConfig(), "best", actType, dcContext.getConverter(), TransportMode.pt)); controler.addControlerListener(new DistanceStats(controler.getConfig(), "best", actType, dcContext.getConverter(), TransportMode.bike)); controler.addControlerListener(new DistanceStats(controler.getConfig(), "best", actType, dcContext.getConverter(), TransportMode.walk)); controler.addControlerListener(new DistanceStats(controler.getConfig(), "best", actType, dcContext.getConverter(), TransportMode.other)); controler.addControlerListener(new DistanceStats(controler.getConfig(), "best", actType, dcContext.getConverter(), TransportMode.ride)); controler.addControlerListener(new DistanceStats(controler.getConfig(), "best", actType, dcContext.getConverter(), TransportMode.transit_walk)); } MaxDCScoreWrapper dcScore = new MaxDCScoreWrapper(); dcScore.setPersonsMaxDCScoreUnscaled(personsMaxDCScoreUnscaled); controler.getScenario().addScenarioElement(DestinationChoiceContext.ELEMENT_NAME, dcContext); controler.getScenario().addScenarioElement(MaxDCScoreWrapper.ELEMENT_NAME, dcScore); log.info("dc initialized"); } }
private static void prepareFreightOutputDataAndStats(Scenario scenario, EventsManager eventsManager, MatsimServices controler, final Carriers carriers) { final LegHistogram freightOnly = new LegHistogram(900); freightOnly.setPopulation(scenario.getPopulation()); freightOnly.setInclPop(false); final LegHistogram withoutFreight = new LegHistogram(900); withoutFreight.setPopulation(scenario.getPopulation()); CarrierScoreStats scores = new CarrierScoreStats(carriers, "output/carrier_scores", true); eventsManager.addHandler(withoutFreight); eventsManager.addHandler(freightOnly); controler.addControlerListener(scores); controler.addControlerListener((IterationEndsListener) event -> { //write plans String dir = event.getServices().getControlerIO().getIterationPath(event.getIteration()); new CarrierPlanXmlWriterV2(carriers).write(dir + "/" + event.getIteration() + ".carrierPlans.xml"); //write stats freightOnly.writeGraphic(dir + "/" + event.getIteration() + ".legHistogram_freight.png"); freightOnly.reset(event.getIteration()); withoutFreight.writeGraphic(dir + "/" + event.getIteration() + ".legHistogram_withoutFreight.png"); withoutFreight.reset(event.getIteration()); }); }
event.getServices().addControlerListener(this.stageCollectorHandler); this.stageCollectorHandler.addStageContainerHandler(this.scorePlansHandler); event.getServices().addControlerListener(this.operatorCostCollectorHandler); this.operatorCostCollectorHandler.addOperatorCostContainerHandler(this.scorePlansHandler);