-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTigDataObject.h
90 lines (75 loc) · 2.38 KB
/
TigDataObject.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
// part of TigSortGUI
// author: Ulrike Hager
#ifndef TIGDATAOBJECT_H
#define TIGDATAOBJECT_H
#include <vector>
#include <string>
#include <TClonesArray.h>
#include "TigObject.h"
class TigTree;
const int gMaxEntries = 1024;
enum WhatToDos {
TFORMULA
,MAXVALUE
,SELECTCHANNEL
,COMBINE
,TCUTG
,RANGECUT
,ONE_D
,TWO_D
,SCALER_HISTO
,CALIBRATION
,LOOKUPTABLE
};
class TigDataObject : public TigObject
{
public:
TigDataObject();
TigDataObject(int num);
~TigDataObject();
void AddCut(std::string name);
void AddInput(std::string name, int id);
virtual void Clear();
// std::vector< pair<int,double*>* > Data;
int DataLength(); // size of double in pair of Data
int DataSize(); // size of Data std::vector
virtual bool Evaluate();
virtual void IncreaseDataLength(int){}
virtual bool IniInputs();
virtual bool Initialize();
// std::vector<std::string> InputNames(){return mInputNames};
virtual bool ParseInput(std::string line);
void Update(int hits, int* channel, int *value);
void Update(int hits, double* channel, double *value);
void Update(int hits, double *value);
void Update(int hits, int *value);
virtual void Reset();
void SetCutNames(std::vector<std::string> pN){mCutNames = pN;}
void SetDataLength( int hits);
void SetInputNames(std::vector<std::string> pN){mInputNames = pN;}
void SetNumData(int i);
void SetParent(TigTree *tree){mParent = tree;}
int WhatToDo(){return mWhatToDo;}
std::vector<std::pair<int,double*>* > CutData;
std::vector<std::pair<int,double*>* > Data;
std::vector<std::pair<int,double*>* > InputData;
bool *IsUpdated;
std::vector<bool*> InputUpdated;
std::vector<std::pair<std::string,int> > NeededCuts(){return mNeededCuts;}
std::vector<std::pair<std::string,int> > NeededParameters(){return mNeeded;}
bool SizeDetermined;
bool mWriteToTree;
protected:
std::vector<std::string> mCutNames;
int mDataLength;
std::vector<std::string> mInputNames;
std::vector<std::pair<std::string,int> > mNeeded; //needed parameters as pairs of detector name and channel(0) or value(1)
std::vector<std::pair<std::string,int> > mNeededCuts; //needed parameters as pairs of detector name and channel(0) or value(1)
TigTree *mParent;
int mWhatToDo;
private:
// prevent copying
TigDataObject(const TigDataObject&);
TigDataObject& operator=(const TigDataObject&);
};
#endif /* TIGDATAOBJECT_H */