FRIBParallelanalysis  1.0
FrameworkforMPIParalleldataanalysisatFRIB
TreeParameterArray.h
1 // CTreeParameterArray.h
3 // Implementation of the Class CTreeParameterArray
4 // Created on: 30-Mar-2005 11:03:51 AM
5 // Original author: Ron Fox
7 /*
8  This software is Copyright by the Board of Trustees of Michigan
9  State University (c) Copyright 2005.
10 
11  You may use this software under the terms of the GNU public license
12  (GPL). The terms of this license are described at:
13 
14  http://www.gnu.org/licenses/gpl.txt
15 
16  Author:
17  Ron Fox
18  NSCL
19  Michigan State University
20  East Lansing, MI 48824-1321
21 */
22 // This implementation of TreeParameter is based on the ideas and original code of::
23 // Daniel Bazin
24 // National Superconducting Cyclotron Lab
25 // Michigan State University
26 // East Lansing, MI 48824-1321
27 //
28 
29 
30 
31 #ifndef CTREEPARAMETERARRAY_H
32 #define CTREEPARAMETERARRAY_H
33 
34 
35 #include <vector>
36 #include <string>
37 #include <TreeParameter.h>
38 
39 namespace frib {
40  namespace analysis {
41 
42 
43  // Forward definitions.
44 
45 
63  {
64  private:
65 
70  int m_nFirstIndex;
71  std::vector<CTreeParameter*> m_Parameters;
72 
73  public:
78  CTreeParameterArray(std::string baseName,
79  unsigned resolution, unsigned numElements, int baseIndex);
80  CTreeParameterArray(std::string baseName,
81  unsigned resolution,
82  double lowLimit, double highOrWidth,
83  std::string units, bool widthOrHighGiven,
84  unsigned elements, int firstIndex = 0);
85  CTreeParameterArray(std::string baseName, unsigned elements, int baseIndex = 0);
86  CTreeParameterArray(std::string baseName, std::string units,
87  unsigned elements, int firstIndex = 0);
88  CTreeParameterArray(std::string baseName,
89  double low, double high, std::string units,
90  unsigned elements, int firstIndex = 0);
91  CTreeParameterArray(std::string baseName, unsigned channels,
92  double low, double high, std::string units,
93  unsigned elements, int firstIndex = 0);
95 
96  CTreeParameter& operator[](int nIndex);
97  void Reset();
98  void Initialize(std::string baseName, unsigned resolution,
99  unsigned elements, int baseIndex = 0);
100  void Initialize(std::string baseName, unsigned resolution,
101  double lowLimit, double widthOrHeight,
102  std::string units, bool widthOrHeightGiven,
103  unsigned elements, int firstIndex = 0);
104  void Initialize(std::string baseName, unsigned elements, int firstIndex = 0);
105  void Initialize(std::string baseName, std::string units, unsigned elements,
106  int firstIndex = 0);
107  void Initialize(std::string baseName, double lowLimit, double highLimit,
108  std::string units, unsigned elements, int firstIndex = 0);
109  void Initialize(std::string baseName, unsigned channels,
110  double lowLimit, double highLimit, std::string units,
111  unsigned elements, int firstIndex = 0);
112  std::vector<CTreeParameter*>::iterator begin();
113  std::vector<CTreeParameter*>::iterator end();
114  size_t size();
115  int lowIndex();
116  bool isBound() const;
117  void Bind();
118  protected:
119  void CreateParameters(std::string baseName,
120  unsigned size, CTreeParameter::SharedData& Template);
121  void DeleteParameters();
122 
123 
124  };
125 
126 
127  }
128 }
129 
130 
131 #endif
int lowIndex()
Definition: TreeParameterArray.cpp:537
Definition: TreeParameter.h:46
void Reset()
Definition: TreeParameterArray.cpp:291
Definition: TreeParameter.h:42
void Bind()
Definition: TreeParameterArray.cpp:565
CTreeParameter & operator[](int nIndex)
Definition: TreeParameterArray.cpp:278
void CreateParameters(std::string baseName, unsigned size, CTreeParameter::SharedData &Template)
Definition: TreeParameterArray.cpp:212
void DeleteParameters()
Definition: TreeParameterArray.cpp:253
bool isBound() const
Definition: TreeParameterArray.cpp:549
size_t size()
Definition: TreeParameterArray.cpp:527
Definition: TreeParameterArray.h:62
~CTreeParameterArray()
Definition: TreeParameterArray.cpp:187
: Define the tree parameter class.
std::vector< CTreeParameter * >::iterator end()
Definition: TreeParameterArray.cpp:517
CTreeParameterArray()
Definition: TreeParameterArray.cpp:59
Definition: AbstractApplication.cpp:30
std::vector< CTreeParameter * >::iterator begin()
Definition: TreeParameterArray.cpp:507