25 void Copy(TObject& obj) const override;
27 void CalculateGain(Double_t cent1, Double_t cent2, Double_t eng1, Double_t eng2);
36 Double_t energy2, Int_t low_range = 100, Int_t high_range = 600);
40 Bool_t
CoarseMatch(TH1*
hist, Int_t chanNum = 9999, Double_t energy1 = 1173.228, Double_t energy2 = 1332.492);
43 Bool_t
FineMatchFast(TH1*
hist, Double_t energy1, Double_t energy2, Int_t channelNum = 9999);
44 Bool_t
FineMatchFast(TH1* hist1, Double_t energy1, TH1* hist2, Double_t energy2, Int_t channelNum = 9999);
46 Bool_t
FineMatch(TH1* energyHist, TH1* testhist, TH1* chargeHist, Double_t energy1, Double_t energy2,
47 Int_t low_range = 100, Int_t high_range = 600, Int_t channelNum = 9999);
49 Bool_t
Align(TH1* test, TH1*
hist, Int_t low_range = 100, Int_t high_range = 600);
51 void Clear(Option_t* opt = "") override;
52 void Print(Option_t* opt = "") const override;
57 void SetNucleus(
TNucleus*, Option_t* =
"")
override { Warning(
"SetNucleus",
"Is not used in TGainMatching"); }
60 Warning(
"GetNucleus",
"Is not used in TGainMatching");
64 void SetHist(TH1*)
override { Warning(
"SetHist",
"Is not used in TGainMatching"); }
67 Warning(
"GetHist",
"Is not used in TGainMatching");
75 std::cout <<
"All new TGainMatch objects will have their range set to " << coarseRange << std::endl;
std::array< Double_t, 2 > fGainCoeffs
Bool_t FineMatchFast(TH1 *hist1, TPeak *peak1, TH1 *hist2, TPeak *peak2, Int_t channelNum=9999)
static Double_t fDefaultCoarseRange
std::array< Double_t, 2 > fAlignCoeffs
static Double_t GetDefaultCoarseRange()
TNucleus * GetNucleus() const override
void Clear(Option_t *opt="") override
static Bool_t FineMatchFastAll(TCalManager *cm, TH2 *mat, Double_t energy1, Double_t energy2)
Double_t HistCompare(Double_t *x, Double_t *par)
void WriteToChannel() const override
TGainMatch(const char *name, const char *title)
void SetCoarseRange(Double_t coarseRange)
void Copy(TObject &obj) const override
Bool_t CoarseMatch(TH1 *hist, Int_t chanNum=9999, Double_t energy1=1173.228, Double_t energy2=1332.492)
void CalculateGain(Double_t cent1, Double_t cent2, Double_t eng1, Double_t eng2)
Bool_t Align(TH1 *test, TH1 *hist, Int_t low_range=100, Int_t high_range=600)
static void SetDefaultCoarseRange(Double_t coarseRange)
static Bool_t CoarseMatchAll(TCalManager *cm, TH2 *mat, Double_t energy1=1173.228, Double_t energy2=1332.492)
static Bool_t AlignAll(TCalManager *cm, TH1 *hist, TH2 *mat, Int_t low_range=100, Int_t high_range=600)
Bool_t IsGroupable() const override
TGainMatch(TGainMatch &&) noexcept=default
static Bool_t FineMatchAll(TCalManager *cm, TH2 *charge_mat, TH2 *eng_mat, Int_t testchan, Double_t energy1, Double_t energy2, Int_t low_range=100, Int_t high_range=600)
void SetHist(TH1 *) override
Bool_t FineMatch(TH1 *energyHist, TH1 *testhist, TH1 *chargeHist, Double_t energy1, Double_t energy2, Int_t low_range=100, Int_t high_range=600, Int_t channelNum=9999)
Double_t GetCoarseRange() const
void Print(Option_t *opt="") const override
void SetNucleus(TNucleus *, Option_t *="") override