90 const std::string& lane,
double pos,
SUMOTime splInterval,
91 const std::string& device,
bool friendlyPos,
92 const std::string& vTypes);
111 const std::string& lane,
double pos,
112 const std::string& device,
bool friendlyPos,
113 const std::string& vTypes);
130 const std::string& device,
SUMOTime frequency,
131 SUMOTime haltingTimeThreshold,
double haltingSpeedThreshold,
double jamDistThreshold,
132 const std::string& vTypes,
bool friendlyPos,
bool showDetector,
135 void buildE2Detector(
const std::string&
id, std::vector<MSLane*> lanes,
double pos,
double endPos,
136 const std::string& device,
SUMOTime frequency,
137 SUMOTime haltingTimeThreshold,
double haltingSpeedThreshold,
double jamDistThreshold,
138 const std::string& vTypes,
bool friendlyPos,
bool showDetector,
156 double haltingSpeedThreshold,
SUMOTime haltingTimeThreshold,
157 const std::string& vTypes,
bool openEntry);
172 void addE3Entry(
const std::string& lane,
double pos,
bool friendlyPos);
187 void addE3Exit(
const std::string& lane,
double pos,
bool friendlyPos);
226 const std::string& vtype,
SUMOTime frequency,
227 const std::string& device);
246 const std::string& device,
247 const std::string& vTypes);
269 const std::string& vTypes,
bool show =
true);
282 MSLane* lane,
double pos,
const std::string& od,
283 const std::string& vTypes);
294 SUMOTime haltingTimeThreshold,
double haltingSpeedThreshold,
double jamDistThreshold,
295 const std::string& vTypes,
bool showDetector =
true);
298 DetectorUsage usage, std::vector<MSLane*> lanes,
double pos,
double endPos,
299 SUMOTime haltingTimeThreshold,
double haltingSpeedThreshold,
double jamDistThreshold,
300 const std::string& vTypes,
bool showDetector =
true);
314 double haltingSpeedThreshold,
SUMOTime haltingTimeThreshold,
315 const std::string& vTypes,
bool openEntry);
338 const bool useLanes,
const bool withEmpty,
const bool printDefaults,
339 const bool withInternal,
const bool trackVehicles,
const int detectPersons,
340 const double maxTravelTime,
const double minSamples,
341 const double haltSpeed,
const std::string& vTypes,
342 const std::string& writeAttributes,
343 const std::string& device);
362 SUMOTime haltingTimeThreshold,
double haltingSpeedThreshold,
363 double jamDistThreshold,
364 const std::string& vTypes);
382 const std::string& device,
double haltingSpeedThreshold,
384 const std::string& vTypes,
bool openEntry);
437 const std::string& detid);
450 const std::string& detid);
460 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.
E3DetectorDefinition & operator=(const E3DetectorDefinition &)
Invalidated assignment operator.
const std::string myVehicleTypes
The device the detector shall use.
CrossSectionVector myEntries
List of detector's entries.
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.
~E3DetectorDefinition()
Destructor.
E3DetectorDefinition(const std::string &id, const std::string &device, double haltingSpeedThreshold, SUMOTime haltingTimeThreshold, SUMOTime splInterval, const std::string &vTypes, bool openEntry)
Constructor.
double myHaltingSpeedThreshold
The speed a vehicle's speed must be below to be assigned as jammed.
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.
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.
virtual MSDetectorFileOutput * createInstantInductLoop(const std::string &id, MSLane *lane, double pos, const std::string &od, const std::string &vTypes)
Creates an instance of an e1 detector using the given values.
void buildInductLoop(const std::string &id, const std::string &lane, double pos, SUMOTime splInterval, const std::string &device, bool friendlyPos, const std::string &vTypes)
Builds an e1 detector and adds it to the net.
MSLane * getLaneChecking(const std::string &laneID, SumoXMLTag type, const std::string &detid)
Returns the named lane.
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 &vTypes, bool showDetector=true)
Creates a MSE2Collector instance, overridden by GUIE2Collector::createE2Detector()
void beginE3Detector(const std::string &id, const std::string &device, SUMOTime splInterval, double haltingSpeedThreshold, SUMOTime haltingTimeThreshold, const std::string &vTypes, bool openEntry)
Stores temporary the initial information about an e3 detector to build.
NLDetectorBuilder & operator=(const NLDetectorBuilder &)
Invalidated assignment operator.
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 ~NLDetectorBuilder()
Destructor.
MSEdge * getEdgeChecking(const std::string &edgeID, SumoXMLTag type, const std::string &detid)
Returns the named edge.
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, const std::string &device)
Creates edge based mean data collector using the given specification.
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.
double getPositionChecking(double pos, MSLane *lane, bool friendlyPos, const std::string &detid)
Computes the position to use.
void addE3Entry(const std::string &lane, double pos, bool friendlyPos)
Builds an entry point of an e3 detector.
virtual MSDetectorFileOutput * createInductLoop(const std::string &id, MSLane *lane, double pos, const std::string &vTypes, bool show=true)
Creates an instance of an e1 detector using the given values.
void buildInstantInductLoop(const std::string &id, const std::string &lane, double pos, const std::string &device, bool friendlyPos, const std::string &vTypes)
Builds an instantenous induction and adds it to the net.
NLDetectorBuilder(const NLDetectorBuilder &)
Invalidated copy constructor.
MSE2Collector * buildSingleLaneE2Det(const std::string &id, DetectorUsage usage, MSLane *lane, double pos, double length, SUMOTime haltingTimeThreshold, double haltingSpeedThreshold, double jamDistThreshold, const std::string &vTypes)
Builds an e2 detector that lies on only one lane.
E3DetectorDefinition * myE3Definition
definition of the currently parsed e3 detector
std::string getCurrentE3ID() const
Returns the id of the currently built e3 detector.
void 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 &vTypes, 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...
NLDetectorBuilder(MSNet &net)
Constructor.
virtual MSDetectorFileOutput * createE3Detector(const std::string &id, const CrossSectionVector &entries, const CrossSectionVector &exits, double haltingSpeedThreshold, SUMOTime haltingTimeThreshold, const std::string &vTypes, bool openEntry)
Creates an instance of an e3 detector using the given values.