OPAL (Object Oriented Parallel Accelerator Library)  2021.1.99
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 
36 Object *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