AculCalParsScint.h 1.59 KB
Newer Older
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
/*
 * AculCalParsScint.h
 *
 *  Created on: Oct 21, 2016
 *      Author: vratik
 */

#ifndef ACULCALIB_ACULCALPARSSCINT_H_
#define ACULCALIB_ACULCALPARSSCINT_H_

#include "AculCalPars.h"
#include "TCutG.h"

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;}
	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_ */