 |
Eclipse SUMO - Simulation of Urban MObility
|
Go to the documentation of this file.
19 #ifndef NLDetectorBuilder_h
20 #define NLDetectorBuilder_h
92 const std::string& lane,
double pos,
SUMOTime splInterval,
93 const std::string& device,
bool friendlyPos,
94 const std::string& vTypes);
113 const std::string& lane,
double pos,
114 const std::string& device,
bool friendlyPos,
115 const std::string& vTypes);
132 const std::string& device,
SUMOTime frequency,
133 SUMOTime haltingTimeThreshold,
double haltingSpeedThreshold,
double jamDistThreshold,
134 const std::string& vTypes,
bool friendlyPos,
bool showDetector,
137 void buildE2Detector(
const std::string&
id, std::vector<MSLane*> lanes,
double pos,
double endPos,
138 const std::string& device,
SUMOTime frequency,
139 SUMOTime haltingTimeThreshold,
double haltingSpeedThreshold,
double jamDistThreshold,
140 const std::string& vTypes,
bool friendlyPos,
bool showDetector,
158 double haltingSpeedThreshold,
SUMOTime haltingTimeThreshold,
159 const std::string& vTypes,
bool openEntry);
174 void addE3Entry(
const std::string& lane,
double pos,
bool friendlyPos);
189 void addE3Exit(
const std::string& lane,
double pos,
bool friendlyPos);
228 const std::string& vtype,
SUMOTime frequency,
229 const std::string& device);
248 const std::string& device,
249 const std::string& vTypes);
271 const std::string& vTypes,
bool show =
true);
284 MSLane* lane,
double pos,
const std::string& od,
285 const std::string& vTypes);
296 SUMOTime haltingTimeThreshold,
double haltingSpeedThreshold,
double jamDistThreshold,
297 const std::string& vTypes,
bool showDetector =
true);
300 DetectorUsage usage, std::vector<MSLane*> lanes,
double pos,
double endPos,
301 SUMOTime haltingTimeThreshold,
double haltingSpeedThreshold,
double jamDistThreshold,
302 const std::string& vTypes,
bool showDetector =
true);
316 double haltingSpeedThreshold,
SUMOTime haltingTimeThreshold,
317 const std::string& vTypes,
bool openEntry);
340 const bool useLanes,
const bool withEmpty,
const bool printDefaults,
341 const bool withInternal,
const bool trackVehicles,
const int detectPersons,
342 const double maxTravelTime,
const double minSamples,
343 const double haltSpeed,
const std::string& vTypes,
344 const std::string& device);
363 SUMOTime haltingTimeThreshold,
double haltingSpeedThreshold,
364 double jamDistThreshold,
365 const std::string& vTypes);
383 const std::string& device,
double haltingSpeedThreshold,
385 const std::string& vTypes,
bool openEntry);
438 const std::string& detid);
451 const std::string& detid);
461 const std::string& detid);
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()
SUMOTime myHaltingTimeThreshold
The time a vehicle's speed must be below haltingSpeedThreshold to be assigned as jammed.
MSLane * getLaneChecking(const std::string &laneID, SumoXMLTag type, const std::string &detid)
Returns the named lane.
Base of value-generating classes (detectors)
Representation of a lane in the micro simulation.
double getPositionChecking(double pos, MSLane *lane, bool friendlyPos, const std::string &detid)
Computes the position to use.
CrossSectionVector myEntries
List of detector's entries.
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.
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.
A single mesoscopic segment (cell)
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.
MSEdge * getEdgeChecking(const std::string &edgeID, SumoXMLTag type, const std::string &detid)
Returns the named edge.
The simulated network and simulation perfomer.
E3DetectorDefinition(const std::string &id, const std::string &device, double haltingSpeedThreshold, SUMOTime haltingTimeThreshold, SUMOTime splInterval, const std::string &vTypes, bool openEntry)
Constructor.
const std::string myID
The id of the detector.
Holds the incoming definitions of an e3 detector unless the detector is build.
An induction loop for mesoscopic simulation.
An areal detector corresponding to a sequence of consecutive lanes.
SUMOTime mySampleInterval
The aggregation interval.
SumoXMLTag
Numbers representing SUMO-XML - element names.
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 &device)
Creates edge based mean data collector using the given specification.
NLDetectorBuilder & operator=(const NLDetectorBuilder &)
Invalidated assignment operator.
CrossSectionVector myExits
List of detector's exits.
MSNet & myNet
The net to fill.
const std::string myVehicleTypes
The device the detector shall use.
A road/street connecting two junctions.
E3DetectorDefinition & operator=(const E3DetectorDefinition &)
Invalidated assignment operator.
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.
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.
E3DetectorDefinition(const E3DetectorDefinition &)
Invalidated copy constructor.
void endE3Detector()
Builds of an e3 detector using collected values.
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...
~E3DetectorDefinition()
Destructor.
virtual ~NLDetectorBuilder()
Destructor.
E3DetectorDefinition * myE3Definition
definition of the currently parsed e3 detector
bool myOpenEntry
Whether the detector is declared as having incomplete entry detectors.
std::string getCurrentE3ID() const
Returns the id of the currently built e3 detector.
NLDetectorBuilder(MSNet &net)
Constructor.
double myHaltingSpeedThreshold
The speed a vehicle's speed must be below to be assigned as jammed.
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.
Storage for all programs of a single tls.
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 checkSampleInterval(SUMOTime splInterval, SumoXMLTag type, const std::string &id)
Checks whether the given frequency (sample interval) is valid.
void addE3Exit(const std::string &lane, double pos, bool friendlyPos)
Builds an exit point of an e3 detector.
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.
Builds detectors for microsim.
std::vector< MSCrossSection > CrossSectionVector
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.
const std::string myDevice
The device the detector shall use.
NLDetectorBuilder(const NLDetectorBuilder &)
Invalidated copy constructor.