SST  12.0.1
StructuralSimulationToolkit
statgroup.h
1 // Copyright 2009-2022 NTESS. Under the terms
2 // of Contract DE-NA0003525 with NTESS, the U.S.
3 // Government retains certain rights in this software.
4 //
5 // Copyright (c) 2009-2022, NTESS
6 // All rights reserved.
7 //
8 // This file is part of the SST software package. For license
9 // information, see the LICENSE file in the top level directory of the
10 // distribution.
11 
12 #ifndef SST_CORE_STATAPI_STATGROUP_H
13 #define SST_CORE_STATAPI_STATGROUP_H
14 
15 #include "sst/core/sst_types.h"
16 #include "sst/core/unitAlgebra.h"
17 
18 #include <string>
19 #include <vector>
20 
21 namespace SST {
22 class ConfigStatGroup;
23 namespace Statistics {
24 class StatisticBase;
25 class StatisticOutput;
26 
28 {
29 public:
30  StatisticGroup() : isDefault(true), name("default") {};
31  StatisticGroup(const ConfigStatGroup& csg);
32 
33  bool containsStatistic(const StatisticBase* stat) const;
34  bool claimsStatistic(const StatisticBase* stat) const;
35  void addStatistic(StatisticBase* stat);
36 
37  bool isDefault;
38  std::string name;
39  StatisticOutput* output;
40  UnitAlgebra outputFreq;
41 
42  std::vector<ComponentId_t> components;
43  std::vector<std::string> statNames;
44  std::vector<StatisticBase*> stats;
45 };
46 
47 } // namespace Statistics
48 } // namespace SST
49 
50 #endif // SST_CORE_STATAPI_STATGROUP_H
Forms the base class for statistics output generation within the SST core.
Definition: statoutput.h:49
Forms the base class for statistics gathering within SST.
Definition: statbase.h:63
Definition: configGraph.h:158
Definition: statgroup.h:27
Performs Unit math in full precision.
Definition: unitAlgebra.h:106