AculCalParsSi.h 2.26 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 74
/*
 * AculCalParsSi.h
 *
 *  Created on: Oct 26, 2016
 *      Author: vratik
 */

#ifndef ACULCALIB_ACULCALPARSSI_H_
#define ACULCALIB_ACULCALPARSSI_H_

#include "AculCalPars.h"
#include "../TELoss/TELoss.h"

class AculCalParsSi: public AculCalPars {
private:
	Int_t kRaNOPEAKS;
//	TArrayD		fEnergy;		//energy after passing through deadlayer
	vector<Double_t> fEnergyInput;		//incidental energy, set from .par
	Double_t fLowerChannel;
	Double_t fUpperChannel;
	Double_t fLowerPeakRelativeHight;	//pouziva se, private
	Double_t fUpperPeakRelativeHight;	//pouziva se, private, nastavit nenulovou prednastavenou hodnotu
	Double_t fPeakPositionTolerance;		//pouziva se, private
	Width_t	fFitFuncLineWidth;			//private
	Double_t fFitMinSigma;				//pouziva se, private
	Double_t fFitPeakThreshold;			//pouziva se, private, prozkoumat, k cemu vlastne slouzi ve fci ShowPeaks, popremyslet o vhodnem prednastaveni v konstruktoru
	Double_t fDeadLayer;					//in mcm; it will be used for recalculation of energies outcomming from the alpha source

	TELoss fAlphaSi;

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

	void Init();
	// Function which loads text file containing parameters for calibration
	//
	//	-inputparfile: file containing information on calibration source
	//	-In file with the data must be preserved systematic
	//	-There cannot be whitelines (probably)
	//
	//Example of "parforcal.par" file
	//................................................................
	//223Ra
	//
	//4		nopeaks		//number of peaks
	//4.415		E1		//in MeV
	//5.153		E2		//in MeV
	//5.683		E3		//in MeV
	//7.419		E4		//in MeV
	//100		lowerchannel	//in channels
	//4096		upperchannel	//in channels
	//0.1		lowerpeakhight		//in relative units
	//0.1		upperpeakhight		//in relative units
	//0.1		peakpositiontolerance	//in relative units
	//2		fitfunctionlinewidth	//integer 1 - 10
	//5		minfitsigma		//minimal sigma of the peaks to be fitted
	//0.4		fithightthreshold	//
	//................................................................
	void Reset();

	void PrintParameters(const char* option = "");
	//I hope this is selfunderstanding function


private:
	void SetPars();
	void SetELosses();
	void SetCalEnergies();
};

#endif /* ACULCALIB_ACULCALPARSSI_H_ */