00001 #ifndef PATTERNMANAGER_HEADER 00002 #define PATTERNMANAGER_HEADER 00003 00004 #include <iostream.h> 00005 #include <iomanip.h> 00006 #include <vector> 00007 #include <string> 00008 00009 #include "TObject.h" 00010 00011 #include "Pattern.h" 00012 #include "Statistics.h" 00013 00014 class PatternManager : virtual public TObject { 00015 00016 protected: 00017 std::vector<Pattern> patternSet; 00018 std::vector<Int_t> runtimeInput; 00019 std::vector<Double_t> mean; 00020 std::vector<Double_t> rms; 00021 00022 public: 00023 PatternManager(); 00024 ~PatternManager(); 00025 00026 inline std::vector<Pattern> getPatternSet() const { return patternSet; } 00027 inline std::vector<Int_t> getRuntimeInput() const { return runtimeInput; } 00028 inline void setPatternSet (std::vector<Pattern> vector) { patternSet = vector; } 00029 inline void setRuntimeInput(std::vector<Int_t> vector) { runtimeInput = vector; } 00030 00031 inline void clearPatternSet() { patternSet.clear(); } 00032 inline void clearRuntimeInput() { runtimeInput.clear(); } 00033 inline void pushBackRuntimeInput(Int_t value) { runtimeInput.push_back(value); } 00034 00035 std::vector<Pattern> getPatternSubset(std::string type); 00036 UInt_t getPatternSetSize() const { return patternSet.size(); } 00037 UInt_t getPatternSetSize(std::string type = ""); 00038 UInt_t getRuntimeInputSize(); 00039 00040 void printVector(std::vector<Double_t> vector, std::string tagStringi = ""); 00041 void printVector(std::vector<Int_t> vector, std::string tagStringi = ""); 00042 void initializeRuntimeInput(Int_t n); 00043 void standartizePatternSetUsing(std::string type); 00044 void standartizeTargetsUsing(std::string type); 00045 void PrintPatternSet(std::string type = ""); 00046 Double_t CalculateError(std::string type = ""); 00047 std::vector<Double_t> getPatternInput (Int_t n, std::string type); 00048 std::vector<Double_t> getPatternInput (Int_t n, Double_t target, std::string type); 00049 std::vector<Double_t> getPatternTarget(Int_t n, std::string type); 00050 00051 ClassDef(PatternManager, 1) 00052 }; 00053 00054 #endif