AculCalParsScint.h 1.73 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 "AculCalParsScintFile.h"
13
//#include "TCutG.h"
14 15 16 17 18 19 20 21 22 23 24 25

using std::cerr;

class AculCalParsScint: public AculCalPars {

private:
	Int_t fNoCrystals;

	TString fDetName;
	TString fPartName;

	Int_t fNoFiles;
26 27 28
	vector<AculCalParsScintFile> fFilePars;
	//todo following parameters should be probably moved to AculCalParsScintFile
	//as far as they are related to each file separately
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
	vector<TString> fCutName;
	vector<TCutG> fCuts;

	Int_t fEnergyPoints;

	TString fCutsFileName;
	Int_t fNoCuts;				//number of cuts

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;}
62 63
	TCutG* GetCut(Int_t i);
	TCutG* GetCut(const char* cutName);
64 65 66 67 68 69 70 71 72 73 74
	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_ */