OPAL (Object Oriented Parallel Accelerator Library) 2022.1
OPAL
TrackParser.cpp
Go to the documentation of this file.
1//
2// Class TrackParser
3// The parser class used by the OPAL tracking module.
4// As long as control remains in this class, OPAL recognizes only the
5// commands allowed in tracking mode. Thus this parser has its own
6// command directory with a find() method which is used to find commands.
7//
8// Copyright (c) 200x - 2020, Paul Scherrer Institut, Villigen PSI, Switzerland
9// All rights reserved
10//
11// This file is part of OPAL.
12//
13// OPAL is free software: you can redistribute it and/or modify
14// it under the terms of the GNU General Public License as published by
15// the Free Software Foundation, either version 3 of the License, or
16// (at your option) any later version.
17//
18// You should have received a copy of the GNU General Public License
19// along with OPAL. If not, see <https://www.gnu.org/licenses/>.
20//
21#include "Track/TrackParser.h"
22#include "Track/TrackEnd.h"
23#include "Track/TrackRun.h"
24
26 trackDirectory() {
27 trackDirectory.insert("ENDTRACK", new TrackEnd());
28 trackDirectory.insert("RUN", new TrackRun());
29}
30
31
33{}
34
35
36Object *TrackParser::find(const std::string &name) const {
37 return trackDirectory.find(name);
38}
const std::string name
Object * find(const std::string &name) const
Find entry.
Definition: Directory.cpp:66
void insert(const std::string &name, Object *newObject)
Define new object.
Definition: Directory.cpp:77
The base class for all OPAL objects.
Definition: Object.h:48
The ENDTRACK command.
Definition: TrackEnd.h:30
virtual ~TrackParser()
Definition: TrackParser.cpp:32
Directory trackDirectory
Definition: TrackParser.h:47
virtual Object * find(const std::string &) const
Find object by name in the track command directory.
Definition: TrackParser.cpp:36