AculCalParsScint.h 1.65 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11
/*
 * AculCalParsScint.h
 *
 *  Created on: Oct 21, 2016
 *      Author: vratik
 */

#ifndef ACULCALIB_ACULCALPARSSCINT_H_
#define ACULCALIB_ACULCALPARSSCINT_H_

#include "AculCalPars.h"
12
//#include "TCutG.h"
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

using std::cerr;

class AculCalParsScint: public AculCalPars {

private:
	Int_t fNoCrystals;

	TString fDetName;
	TString fPartName;

	Int_t fNoFiles;
	vector<TString> fFileName;
	vector<TString> fCutName;
	vector<TCutG> fCuts;

	Int_t fEnergyPoints;
	vector<Double_t> fE;

	TString fCutsFileName;
	Int_t fNoCuts;				//number of cuts

	vector< vector<Int_t> > fPeakMin;
	vector< vector<Int_t> > fPeakMax;

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

	virtual void Init();

	void PrintParameters(const char* option = "");
	// If option contains "all", all parameters will be printed out.
	// By default important parameters only will be printed out.

	void Reset();

	//getters
	Int_t GetNoCrystals() {return fNoCrystals;}
	const char* GetDetName() {return fDetName.Data();}
	const char* GetParticleName() {return fPartName.Data();}
	Int_t GetNoRawFiles() {return fNoFiles;}
	const char* GetFileName(Int_t i);
	const char* GetCutName(Int_t i);
	Int_t GetNoEPoints() {return fEnergyPoints;}
	Double_t GetCalEnergy(Int_t i);
	const char* GetCutsFileName() {return fCutsFileName.Data();}
	Int_t GetNoCuts() {return fNoCuts;}
63 64
	TCutG* GetCut(Int_t i);
	TCutG* GetCut(const char* cutName);
65 66 67 68 69 70 71 72 73 74 75
	Int_t GetMinChannel(Int_t energy, Int_t crystal);
	Int_t GetMaxChannel(Int_t energy, Int_t crystal);

//private:
	void LoadCuts();

protected:
	void SetPars();
};

#endif /* ACULCALIB_ACULCALPARSSCINT_H_ */