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  TSPhaseSpaceMap* Clone(TString name, TString title);
48  virtual int Fill();
49  int FindVolume() const;
50  int GetAxis(TString) const;
51  int GetDimension() const {return fDimension;}
52  TSHistogramFld* GetHistogramFld(TString opt="") const;
53  int GetNumOfVolumes() const {return fNumOfVols;}
54  const TSVariable* GetVariable(int) const;
55  const TSVariable* GetVariable(TString) const;
56  TSPhaseSpaceVolume* GetVolume(int) const;
57  bool HasSelection() const {return fHasSelection;}
58  virtual void Init();
59  int IsBinned(int) const;
60  int IsBinned(TString) const;
61  int Multiply(const TSPhaseSpaceMap &);
62  void Print() const;
63  void RemoveSelection();
64  void SelectRange(const TSVariable &, double min, double max, bool partial=false);
65  int SetBinning(const TSVariable &,int n, double* bins);
66  int SetBinning(const TSVariable &,int n, double low, double up);
67  int SetBinning(TString var_list, TString file);
68  int SetVariable(const TSVariable &);
69  void SetVolumeSelected(int,bool);
70  bool VolumeIsSelected(int) const;
71 
72 
73 private:
74 
75 
76 
77  std::map<int,const TSVariable*> fVarList;
78 
79  std::map<int,int> fVarIsBinned;
80 
81  std::map<int,TSPhaseSpaceVolume*> fVolumeList;
82  std::map<int,bool> fVolIsSelected;
83 
84  int fMapOK;
85  int fDimension;
86  int fNumOfVols;
87  int fHasSelection;
88 
89  TSHistogramFld fHistoFld;
90 };
91 
92 #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