AculCalPars.h 1.74 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
/*
 * AculCalParameters.h
 *
 *  Created on: Oct 20, 2016
 *      Author: vratik
 */

#ifndef ACULCALIB_ACULCALPARS_H_
#define ACULCALIB_ACULCALPARS_H_

#include <iostream>
#include <fstream>
#include <vector>

#include "TString.h"
#include "TArrayD.h"
#include "TArrayI.h"
18
#include "TCutG.h"
19 20

using std::cout;
21
using std::cerr;
22 23 24 25 26 27 28 29 30
using std::endl;
using std::vector;

class AculCalPars {

protected:
//general
	TString fParFileName;

31
	vector<Double_t> fEtab;		//energy which will be used for calibration
32

33 34
	//todo energies used for calibration should be in this class

35

36 37 38 39 40 41 42 43 44 45 46 47

public:
	AculCalPars();
	AculCalPars(const char* parFile);
	virtual ~AculCalPars();
	ClassDef(AculCalPars,1);

	virtual void Init();

	//getters
	const char* GetParFileName() {return fParFileName.Data();}
//	Int_t GetNoCrystals() {return fNoCrystals;}
48 49
	virtual const char* GetDetName() {return 0;}
	virtual const char* GetParticleName() {return 0;}
50 51
	virtual Int_t GetNoRawFiles() {return 0;};
	virtual const char* GetFileName(Int_t i) {return 0;};
52 53
	virtual Int_t GetNoEPoints() {return 0;}
	virtual Double_t GetCalEnergy(Int_t i) {return 0.;};
54 55 56 57 58 59

	//todo check functions with cuts
//	virtual const char* GetCutsFileName() {return 0;}
//	virtual Int_t GetNoCuts() {return 0;}
//	virtual TCutG* GetCut(Int_t i) {return 0;};
	virtual TCutG* GetCut(const char* cutName, Int_t treeID = 0) {return 0;};
60 61
	virtual Int_t GetMinChannel(Int_t energy, Int_t crystal) {return 0;};
	virtual Int_t GetMaxChannel(Int_t energy, Int_t crystal) {return 0;};
62 63 64 65 66 67

	void SetParFileName(const char* parFile) {fParFileName = parFile;}

	void SetParFile(const char* parfile);
	virtual void PrintParameters(const char* option = "") {};

68
	virtual void Reset();
69 70 71 72 73 74

protected:
	virtual void SetPars() {};
};

#endif /* ACULCALIB_ACULCALPARS_H_ */