simple-tof-analysis
 All Classes Namespaces Functions Variables Groups Pages
TSPhaseSpaceVolume.h
1 /*
2  * TSPhaseSpaceVolume.h
3  *
4  * Created on: May 29, 2014
5  * Author: Silvestro di Luise
6  * Silvestro.Di.Luise@cern.ch
7  *
8  *
9  *
10  * Implementation of a n-dimensional volume in
11  * real double valued variable space.
12  *
13  *
14  */
15 
16 #ifndef TSPHASESPACEVOLUME_H_
17 #define TSPHASESPACEVOLUME_H_
18 
19 
20 #include <map>
21 
22 #include <TString.h>
23 #include "TSNamed.h"
24 #include "TSVariable.h"
25 
26 
27 
28 class TSPhaseSpaceVolume: public TSNamed {
29 
30 
31 public:
32 
34  TSPhaseSpaceVolume(int dim, TString name, TString title);
36  virtual ~TSPhaseSpaceVolume();
37 
38  int Add(const TSPhaseSpaceVolume& );
39  int AddAxis(const TSVariable&, double low, double up);
40  void Clear();
41  void Copy(const TSPhaseSpaceVolume&);
42  TSVariable* GetAxis(int) const;
43  double GetCenter(int axis) const;
44  int GetDimension() const {return fDimension;}
45  TString GetDescription() const {return fDescription;}
46  double GetLowEdge(int axis) const;
47  double GetUpEdge(int axis) const;
48  const TSVariable* GetVariable(int axis) const;
49  void Init();
50  int IsInside() const;
51 
52  void Print() const;
53  void SetDimension(int);
54 
55  int SetAxis(int ax, const TSVariable&, double low, double up);
56 
57 
58 private:
59 
60 
61  void fBuildDescription();
62 
63  TString fDescription;
64  int fDimension;
65 
66  std::map<int,const TSVariable*> fVarList;
67  std::map<int,TSVariable*> fAxisVariable;
68 
69 
70 };
71 
72 #endif /* TSPHASESPACEVOLUME_H_ */
int Add(const TSPhaseSpaceVolume &)
Definition: TSPhaseSpaceVolume.cc:76
Definition: TSVariable.h:55
Definition: TSNamed.h:38
Definition: TSPhaseSpaceVolume.h:28