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,
133 const std::string& device,
SUMOTime frequency,
134 SUMOTime haltingTimeThreshold,
double haltingSpeedThreshold,
double jamDistThreshold,
135 const std::string name,
const std::string& vTypes,
136 const std::string& nextEdges,
137 int detectPersons,
bool friendlyPos,
bool showDetector,
141 const std::string& device,
SUMOTime frequency,
142 SUMOTime haltingTimeThreshold,
double haltingSpeedThreshold,
double jamDistThreshold,
143 const std::string name,
const std::string& vTypes,
144 const std::string& nextEdges,
145 int detectPersons,
bool friendlyPos,
bool showDetector,
163 double haltingSpeedThreshold,
SUMOTime haltingTimeThreshold,
164 const std::string name,
const std::string& vTypes,
165 const std::string& nextEdges,
166 int detectPersons,
bool openEntry,
bool expectArrival);
181 void addE3Entry(
const std::string& lane,
double pos,
bool friendlyPos);
196 void addE3Exit(
const std::string& lane,
double pos,
bool friendlyPos);
235 const std::string& vtype,
SUMOTime frequency,
236 const std::string& device);
255 const std::string& device,
256 const std::string& vTypes);
280 const std::string name,
const std::string& vTypes,
281 const std::string& nextEdges,
284 bool forceMicro =
false);
297 MSLane* lane,
double pos,
const std::string& od,
298 const std::string name,
const std::string& vTypes,
299 const std::string& nextEdges,
311 SUMOTime haltingTimeThreshold,
double haltingSpeedThreshold,
double jamDistThreshold,
312 const std::string name,
const std::string& vTypes,
313 const std::string& nextEdges,
314 int detectPersons,
bool showDetector);
317 DetectorUsage usage, std::vector<MSLane*> lanes,
double pos,
double endPos,
318 SUMOTime haltingTimeThreshold,
double haltingSpeedThreshold,
double jamDistThreshold,
319 const std::string name,
const std::string& vTypes,
320 const std::string& nextEdges,
321 int detectPersons,
bool showDetector);
335 double haltingSpeedThreshold,
SUMOTime haltingTimeThreshold,
336 const std::string name,
const std::string& vTypes,
337 const std::string& nextEdges,
338 int detectPersons,
bool openEntry,
bool expectArrival);
366 const bool useLanes,
const std::string& excludeEmpty,
367 const bool withInternal,
const bool trackVehicles,
const int detectPersons,
368 const double maxTravelTime,
const double minSamples,
369 const double haltSpeed,
const double haltSpeedRel,
const std::string& vTypes,
370 const std::string& writeAttributes,
371 std::vector<MSEdge*> edges,
373 const std::string& device);
392 const std::string& device,
double haltingSpeedThreshold,
394 const std::string name,
const std::string& vTypes,
395 const std::string& nextEdges,
396 int detectPersons,
bool openEntry,
bool expectArrival);
458 const std::string& detid);
471 const std::string& detid);
481 const std::string& detid);
std::vector< MSCrossSection > CrossSectionVector
SumoXMLTag
Numbers representing SUMO-XML - element names.
AggregateType
Numbers representing special SUMO-XML-attribute values Information on edgeData/laneData output should...
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.
MSLane * getLaneChecking(const std::string &laneID, SumoXMLTag type, const std::string &detid)
Returns the named lane.
void createEdgeLaneMeanData(const std::string &id, SUMOTime frequency, SUMOTime begin, SUMOTime end, const std::string &type, const bool useLanes, const std::string &excludeEmpty, const bool withInternal, const bool trackVehicles, const int detectPersons, const double maxTravelTime, const double minSamples, const double haltSpeed, const double haltSpeedRel, const std::string &vTypes, const std::string &writeAttributes, std::vector< MSEdge * > edges, AggregateType aggregate, const std::string &device)
Creates edge based mean data collector using the given specification.
double getPositionChecking(double pos, MSLane *lane, bool friendlyPos, SumoXMLTag tag, const std::string &detid)
Computes the position to use.
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, int detectPersons)
Builds an instantenous induction and adds it to the net.
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.
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, bool forceMicro=false)
Creates an instance of an e1 detector using the given values.
void addE3Exit(const std::string &lane, double pos, bool friendlyPos)
Builds an exit point of an e3 detector.
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.
NLDetectorBuilder(const NLDetectorBuilder &)
Invalidated copy constructor.
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, int detectPersons)
Creates an instance of an e1 detector using the given values.
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.