simple-tof-analysis
 All Classes Namespaces Functions Variables Groups Pages
TSPhaseSpaceMap.h
1 /*
2  * TSPhaseSpaceMap.h
3  *
4  * Created on: May 28, 2014
5  * Author: sdiluise
6  */
22 #ifndef TSPHASESPACEMAP_H_
23 #define TSPHASESPACEMAP_H_
24 
25 #include <map>
26 
27 #include <TString.h>
28 
29 #include "TSNamed.h"
30 #include "TSVariable.h"
31 #include "TSPhaseSpaceVolume.h"
32 #include "TSHistogramFld.h"
33 
34 
35 class TSPhaseSpaceMap: public TSNamed {
36 
37 public:
38 
40  TSPhaseSpaceMap(TString name, TString title);
42  virtual ~TSPhaseSpaceMap();
43 
44  int Add(const TSPhaseSpaceMap &);
45  int AddVolume(TSPhaseSpaceVolume& );
46  int BuildHistograms(int opt=0);
47  void CheckBinsOverlap(bool);
48  TSPhaseSpaceMap* Clone(TString name, TString title);
49  virtual int Fill();
50  int FindVolume() const;
51  int GetAxis(TString) const;
52  int GetDimension() const {return fDimension;}
53  TSHistogramFld* GetHistogramFld(TString opt="") const;
54  int GetNumOfVolumes() const {return fNumOfVols;}
55  const TSVariable* GetVariable(int) const;
56  const TSVariable* GetVariable(TString) const;
57  TSPhaseSpaceVolume* GetVolume(int) const;
58  bool HasSelection() const {return fHasSelection;}
59  virtual void Init();
60  int IsBinned(int) const;
61  int IsBinned(TString) const;
62  int Multiply(const TSPhaseSpaceMap &);
63  void Print() const;
64  void RemoveSelection();
65  void SelectRange(const TSVariable &, double min, double max, bool partial=false);
66  int SetBinning(const TSVariable &,int n, double* bins);
67  int SetBinning(const TSVariable &,int n, double low, double up);
68  int SetBinning(TString var_list, TString file);
69  int SetVariable(const TSVariable &);
70  void SetVolumeSelected(int,bool);
71  bool VolumeIsSelected(int) const;
72 
73 
74 private:
75 
76 
77 
78  std::map<int,const TSVariable*> fVarList;
79 
80  std::map<int,int> fVarIsBinned;
81 
82  std::map<int,TSPhaseSpaceVolume*> fVolumeList;
83  std::map<int,bool> fVolIsSelected;
84 
85  bool fCheckBinsOverlap;
86 
87  int fMapOK;
88  int fDimension;
89  int fNumOfVols;
90  int fHasSelection;
91 
92  TSHistogramFld fHistoFld;
93 };
94 
95 #endif /* TSPHASESPACEMAP_H_ */
Definition: TSHistogramFld.h:39
void SetVolumeSelected(int, bool)
Definition: TSPhaseSpaceMap.cc:735
int Add(const TSPhaseSpaceMap &)
Definition: TSPhaseSpaceMap.cc:86
void SelectRange(const TSVariable &, double min, double max, bool partial=false)
Definition: TSPhaseSpaceMap.cc:657
Definition: TSPhaseSpaceMap.h:35
Definition: TSVariable.h:55
Definition: TSNamed.h:38
int Multiply(const TSPhaseSpaceMap &)
Definition: TSPhaseSpaceMap.cc:495
Definition: TSPhaseSpaceVolume.h:28