92 const std::string& lane,
double pos,
double length,
SUMOTime splInterval,
93 const std::string& device,
bool friendlyPos,
94 const std::string name,
const std::string& vTypes,
const std::string& nextEdges,
int detectPersons);
114 const std::string& lane,
double pos,
115 const std::string& device,
bool friendlyPos,
116 const std::string name,
const std::string& vTypes,
117 const std::string& nextEdges);
132 const std::string& device,
SUMOTime frequency,
133 SUMOTime haltingTimeThreshold,
double haltingSpeedThreshold,
double jamDistThreshold,
134 const std::string name,
const std::string& vTypes,
135 const std::string& nextEdges,
136 int detectPersons,
bool friendlyPos,
bool showDetector,
140 const std::string& device,
SUMOTime frequency,
141 SUMOTime haltingTimeThreshold,
double haltingSpeedThreshold,
double jamDistThreshold,
142 const std::string name,
const std::string& vTypes,
143 const std::string& nextEdges,
144 int detectPersons,
bool friendlyPos,
bool showDetector,
162 double haltingSpeedThreshold,
SUMOTime haltingTimeThreshold,
163 const std::string name,
const std::string& vTypes,
164 const std::string& nextEdges,
165 int detectPersons,
bool openEntry,
bool expectArrival);
180 void addE3Entry(
const std::string& lane,
double pos,
bool friendlyPos);
195 void addE3Exit(
const std::string& lane,
double pos,
bool friendlyPos);
234 const std::string& vtype,
SUMOTime frequency,
235 const std::string& device);
254 const std::string& device,
255 const std::string& vTypes);
279 const std::string name,
const std::string& vTypes,
280 const std::string& nextEdges,
295 MSLane* lane,
double pos,
const std::string& od,
296 const std::string name,
const std::string& vTypes,
297 const std::string& nextEdges);
308 SUMOTime haltingTimeThreshold,
double haltingSpeedThreshold,
double jamDistThreshold,
309 const std::string name,
const std::string& vTypes,
310 const std::string& nextEdges,
311 int detectPersons,
bool showDetector);
314 DetectorUsage usage, std::vector<MSLane*> lanes,
double pos,
double endPos,
315 SUMOTime haltingTimeThreshold,
double haltingSpeedThreshold,
double jamDistThreshold,
316 const std::string name,
const std::string& vTypes,
317 const std::string& nextEdges,
318 int detectPersons,
bool showDetector);
332 double haltingSpeedThreshold,
SUMOTime haltingTimeThreshold,
333 const std::string name,
const std::string& vTypes,
334 const std::string& nextEdges,
335 int detectPersons,
bool openEntry,
bool expectArrival);
358 const bool useLanes,
const bool withEmpty,
const bool printDefaults,
359 const bool withInternal,
const bool trackVehicles,
const int detectPersons,
360 const double maxTravelTime,
const double minSamples,
361 const double haltSpeed,
const std::string& vTypes,
362 const std::string& writeAttributes,
363 std::vector<MSEdge*> edges,
365 const std::string& device);
384 const std::string& device,
double haltingSpeedThreshold,
386 const std::string name,
const std::string& vTypes,
387 const std::string& nextEdges,
388 int detectPersons,
bool openEntry,
bool expectArrival);
450 const std::string& detid);
463 const std::string& detid);
473 const std::string& detid);
std::vector< MSCrossSection > CrossSectionVector
SumoXMLTag
Numbers representing SUMO-XML - element names.
An induction loop for mesoscopic simulation.
A single mesoscopic segment (cell)
Base of value-generating classes (detectors)
An areal detector corresponding to a sequence of consecutive lanes.
A road/street connecting two junctions.
Representation of a lane in the micro simulation.
The simulated network and simulation perfomer.
Storage for all programs of a single tls.
Holds the incoming definitions of an e3 detector unless the detector is build.
const std::string myVehicleTypes
The types to filter.
CrossSectionVector myEntries
List of detector's entries.
int myDetectPersons
person detection mode
E3DetectorDefinition & operator=(const E3DetectorDefinition &)
Invalidated assignment operator.
const std::string myID
The id of the detector.
SUMOTime mySampleInterval
The aggregation interval.
bool myOpenEntry
Whether the detector is declared as having incomplete entry detectors.
E3DetectorDefinition(const E3DetectorDefinition &)
Invalidated copy constructor.
const std::string myNextEdges
The route edges to filter by.
virtual ~E3DetectorDefinition()
Destructor.
double myHaltingSpeedThreshold
The speed a vehicle's speed must be below to be assigned as jammed.
bool myExpectArrival
Whether the detector expects vehicles to arrive inside (and doesn't issue a warning in this case)
const std::string myDevice
The device the detector shall use.
SUMOTime myHaltingTimeThreshold
The time a vehicle's speed must be below haltingSpeedThreshold to be assigned as jammed.
CrossSectionVector myExits
List of detector's exits.
Builds detectors for microsim.
NLDetectorBuilder & operator=(const NLDetectorBuilder &)
Invalidated assignment operator.
void checkSampleInterval(SUMOTime splInterval, SumoXMLTag type, const std::string &id)
Checks whether the given frequency (sample interval) is valid.
void endE3Detector()
Builds of an e3 detector using collected values.
MSNet & myNet
The net to fill.
void createEdgeLaneMeanData(const std::string &id, SUMOTime frequency, SUMOTime begin, SUMOTime end, const std::string &type, const bool useLanes, const bool withEmpty, const bool printDefaults, const bool withInternal, const bool trackVehicles, const int detectPersons, const double maxTravelTime, const double minSamples, const double haltSpeed, const std::string &vTypes, const std::string &writeAttributes, std::vector< MSEdge * > edges, bool aggregate, const std::string &device)
Creates edge based mean data collector using the given specification.
MSLane * getLaneChecking(const std::string &laneID, SumoXMLTag type, const std::string &detid)
Returns the named lane.
virtual MSDetectorFileOutput * createInstantInductLoop(const std::string &id, MSLane *lane, double pos, const std::string &od, const std::string name, const std::string &vTypes, const std::string &nextEdges)
Creates an instance of an e1 detector using the given values.
double getPositionChecking(double pos, MSLane *lane, bool friendlyPos, SumoXMLTag tag, const std::string &detid)
Computes the position to use.
virtual MSE2Collector * createE2Detector(const std::string &id, DetectorUsage usage, MSLane *lane, double pos, double endPos, double length, SUMOTime haltingTimeThreshold, double haltingSpeedThreshold, double jamDistThreshold, const std::string name, const std::string &vTypes, const std::string &nextEdges, int detectPersons, bool showDetector)
Creates a MSE2Collector instance, overridden by GUIE2Collector::createE2Detector()
void buildVTypeProbe(const std::string &id, const std::string &vtype, SUMOTime frequency, const std::string &device)
Builds a vTypeProbe and adds it to the net.
void addE3Exit(const std::string &lane, double pos, bool friendlyPos)
Builds an exit point of an e3 detector.
virtual MSDetectorFileOutput * createInductLoop(const std::string &id, MSLane *lane, double pos, double length, const std::string name, const std::string &vTypes, const std::string &nextEdges, int detectPersons, bool show)
Creates an instance of an e1 detector using the given values.
virtual ~NLDetectorBuilder()
Destructor.
MSEdge * getEdgeChecking(const std::string &edgeID, SumoXMLTag type, const std::string &detid)
Returns the named edge.
void buildRouteProbe(const std::string &id, const std::string &edge, SUMOTime frequency, SUMOTime begin, const std::string &device, const std::string &vTypes)
Builds a routeProbe and adds it to the net.
virtual MSDetectorFileOutput * createE3Detector(const std::string &id, const CrossSectionVector &entries, const CrossSectionVector &exits, double haltingSpeedThreshold, SUMOTime haltingTimeThreshold, const std::string name, const std::string &vTypes, const std::string &nextEdges, int detectPersons, bool openEntry, bool expectArrival)
Creates an instance of an e3 detector using the given values.
void addE3Entry(const std::string &lane, double pos, bool friendlyPos)
Builds an entry point of an e3 detector.
Parameterised * buildInductLoop(const std::string &id, const std::string &lane, double pos, double length, SUMOTime splInterval, const std::string &device, bool friendlyPos, const std::string name, const std::string &vTypes, const std::string &nextEdges, int detectPersons)
Builds an e1 detector and adds it to the net.
Parameterised * buildInstantInductLoop(const std::string &id, const std::string &lane, double pos, const std::string &device, bool friendlyPos, const std::string name, const std::string &vTypes, const std::string &nextEdges)
Builds an instantenous induction and adds it to the net.
NLDetectorBuilder(const NLDetectorBuilder &)
Invalidated copy constructor.
Parameterised * buildE2Detector(const std::string &id, MSLane *lane, double pos, double endPos, double length, const std::string &device, SUMOTime frequency, SUMOTime haltingTimeThreshold, double haltingSpeedThreshold, double jamDistThreshold, const std::string name, const std::string &vTypes, const std::string &nextEdges, int detectPersons, bool friendlyPos, bool showDetector, MSTLLogicControl::TLSLogicVariants *tlls=0, MSLane *toLane=0)
Builds a new E2 detector and adds it to the net's detector control. Also performs some consistency ch...
Parameterised * beginE3Detector(const std::string &id, const std::string &device, SUMOTime splInterval, double haltingSpeedThreshold, SUMOTime haltingTimeThreshold, const std::string name, const std::string &vTypes, const std::string &nextEdges, int detectPersons, bool openEntry, bool expectArrival)
Stores temporary the initial information about an e3 detector to build.
E3DetectorDefinition * myE3Definition
definition of the currently parsed e3 detector
std::string getCurrentE3ID() const
Returns the id of the currently built e3 detector.
An upper class for objects with additional parameters.