Heavy ion Analysis Libriares
Loading...
Searching...
No Matches
FlowVariable.h
1/*
2 lo * FlowVariable.h
3 *
4 * Created on: 19-10-2013
5 * Author: Daniel Wielanek
6 * E-mail: daniel.wielanek@gmail.com
7 * Warsaw University of Technology, Faculty of Physics
8 */
9
10#ifndef HALFLOWVARIABLE_H_
11#define HALFLOWVARIABLE_H_
12
13#include <TObject.h>
14#include <TString.h>
15
16namespace Hal {
17 class Track;
18
22 class FlowVariable : public TObject {
23 TString fName;
24 TString fUnit;
25
26 protected:
27 void SetFieldName(TString name) { fName = name; }
28 void SetFieldUnit(TString unit) { fUnit = unit; }
29
30 public:
36 FlowVariable(TString axisName = "dummy", TString unitName = "dummy");
41 virtual TString GetAxisName();
46 virtual TString GetAxisUnit();
52 virtual Double_t GetVariable(Track* p);
53 virtual Bool_t Init(Int_t taskId) { return kTRUE; }
54 virtual FlowVariable* MakeCopy() const = 0;
55 virtual ~FlowVariable();
56 ClassDef(FlowVariable, 1)
57 };
58
63 public:
65 Double_t GetVariable(Track* /*p*/) { return 0; };
66 FlowVariable* MakeCopy() const { return new FlowVirtualVariable(); };
67 virtual ~FlowVirtualVariable();
68 ClassDef(FlowVirtualVariable, 1)
69 };
70
72 Int_t fFieldId;
73
74 public:
79 FlowTrackFieldVariable(Int_t fieldId = 0);
80 Double_t GetVariable(Track* p);
81 virtual Bool_t Init(Int_t taskId);
82 FlowVariable* MakeCopy() const { return new FlowTrackFieldVariable(*this); };
83 virtual ~FlowTrackFieldVariable() {};
84 ClassDef(FlowTrackFieldVariable, 1)
85 };
86} // namespace Hal
87#endif /* HALFLOWVARIABLE_H_ */
FlowTrackFieldVariable(Int_t fieldId=0)
Double_t GetVariable(Track *p)
virtual TString GetAxisUnit()
FlowVariable(TString axisName="dummy", TString unitName="dummy")
virtual Double_t GetVariable(Track *p)
virtual TString GetAxisName()
Double_t GetVariable(Track *)