当前位置: 首页>>代码示例>>C++>>正文


C++ TLine::SetY1方法代码示例

本文整理汇总了C++中TLine::SetY1方法的典型用法代码示例。如果您正苦于以下问题:C++ TLine::SetY1方法的具体用法?C++ TLine::SetY1怎么用?C++ TLine::SetY1使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在TLine的用法示例。


在下文中一共展示了TLine::SetY1方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: Fit

//______________________________________________________________________________
void Fit(TH1* h, Double_t* outPos, Double_t* outFWHM)
{
    // Perform fit.
    
    Char_t tmp[256];

    Double_t x1 = 50;
    Double_t x2 = 230;

    TF1* func = new TF1("func", "gaus(0)+pol5(3)", x1, x2);
    func->SetParameters(h->GetMaximum(), 135, 8, 1, 1, 0.1, 0.1);
    func->SetLineColor(kBlue);
    func->SetParLimits(1, 130, 140);
    func->SetParLimits(2, 1, 15);
    h->Fit(func, "RBQO");
    
    // get position and FWHM
    fPi0Pos = func->GetParameter(1);
    *outPos = fPi0Pos;
    *outFWHM = 2.35*func->GetParameter(2);

    // indicator line
    TLine* line = new TLine();
    line->SetLineWidth(2);
    line->SetX1(fPi0Pos);
    line->SetX2(fPi0Pos);
    line->SetY1(0);
    line->SetY2(h->GetMaximum());

    TF1* fBG = new TF1("funcBG", "pol5", x1, x2);
    for (Int_t i = 0; i < 6; i++) fBG->SetParameter(i, func->GetParameter(3+i));
    fBG->SetLineColor(kRed);

    // draw 
    h->GetXaxis()->SetRangeUser(0, 300);
    h->Draw();
    func->Draw("same");
    fBG->Draw("same");
    line->Draw("same");
}
开发者ID:Physott,项目名称:acqu,代码行数:41,代码来源:CBEnergy.C

示例2: Fit

//______________________________________________________________________________
void Fit(TH1* h, Double_t* outPos, Double_t* outFWHM)
{
    // Perform fit.
    
    Char_t tmp[256];

    // delete old function
    TF1* func = new TF1(tmp, "pol1+gaus(2)");
    func->SetLineColor(2);
    
    // estimate peak position
    Double_t fPi0Pos = h->GetBinCenter(h->GetMaximumBin());

    // configure fitting function
    func->SetRange(fPi0Pos - 0.8, fPi0Pos + 0.8);
    func->SetLineColor(2);
    func->SetParameters( 0.1, 0.1, h->GetMaximum(), 0, 0.1);
    Int_t fitres = h->Fit(func, "RB0Q");
    
    // get position and FWHM
    fPi0Pos = func->GetParameter(3);
    *outPos = fPi0Pos;
    *outFWHM = 2.35*func->GetParameter(4);

    // indicator line
    TLine* line = new TLine();
    line->SetX1(fPi0Pos);
    line->SetX2(fPi0Pos);
    line->SetY1(0);
    line->SetY2(h->GetMaximum());

    // draw 
    h->GetXaxis()->SetRangeUser(-3, 3);
    h->Draw();
    func->Draw("same");
    line->Draw("same");
}
开发者ID:linturi,项目名称:CaLib,代码行数:38,代码来源:TAPSTime.C


注:本文中的TLine::SetY1方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。