Pixie16 Analysis Software Suite
Analysis code for processing of .ldf files
TreeCorrelator.hpp
Go to the documentation of this file.
1 
8 #ifndef __TREECORRELATOR_HPP__
9 #define __TREECORRELATOR_HPP__
10 
11 #include <iostream>
12 #include <string>
13 #include <sstream>
14 #include <map>
15 
16 #include "pugixml.hpp"
17 #include "Places.hpp"
18 #include "PlaceBuilder.hpp"
19 #include "Exceptions.hpp"
20 
22 class Walker {
23 public:
29  void parsePlace(pugi::xml_node node, std::string parent,
30  bool verbose);
31 
37  void traverseTree(pugi::xml_node node, std::string parent,
38  bool verbose);
39 };
40 
43 public:
45  static TreeCorrelator* get();
46 
49  Place* place(std::string name);
50 
54  void createPlace(std::map<std::string, std::string>& params,
55  bool verbose);
56 
62  void addChild(std::string parent, std::string child, bool coin,
63  bool verbose);
64 
69  void buildTree();
70 
73 
75  std::map<std::string, Place*> places_;
76 private:
80  /* Do not implement*/
82  void operator=(TreeCorrelator const&);
84 
86 
95  std::vector<std::string> split_names(std::string name);
96 };
97 
98 #endif
std::vector< std::string > split_names(std::string name)
void operator=(TreeCorrelator const &)
the copy constructor
Create place, alter or add existing place to the tree.
Definition: PlaceBuilder.hpp:49
static PlaceBuilder builder
Instance of the PlaceBuilder.
Definition: TreeCorrelator.hpp:85
std::map< std::string, Place * > places_
Definition: TreeCorrelator.hpp:75
XML document walker and parser for TreeCorrelator xml config file.
Definition: TreeCorrelator.hpp:22
Class to handle errors occurring during the execution of the code.
Place * place(std::string name)
A pure abstract class to define a "place" for correlator.
Definition: Places.hpp:24
Singleton class holding map of all places.
Definition: TreeCorrelator.hpp:42
Defines the various places for the TreeCorrelator.
TreeCorrelator()
Definition: TreeCorrelator.hpp:79
static TreeCorrelator * instance
A static instance of the tree correlator.
Definition: TreeCorrelator.hpp:83
void parsePlace(pugi::xml_node node, std::string parent, bool verbose)
void addChild(std::string parent, std::string child, bool coin, bool verbose)
void createPlace(std::map< std::string, std::string > &params, bool verbose)
void traverseTree(pugi::xml_node node, std::string parent, bool verbose)
Defines the various places for the TreeCorrelator.