
Enviado em 04/07/2017 - 15:59h
Boa tarde pessoal,void Run(TString namefile = "default.root"){
TFile *f = new TFile(namefile, "UPDATE");
/// n histograms
doHist("Medidas_Ar/05CMAR.txt","hist_05cmar");
// ou
TH1 *hist1;
hist1 = doHist("Medidas_Ar/05CMAR.txt");
f->close();
}
void doHist(TString namedata, TH1 *h)
{
int max_canal = 0, max_contagem = 0;
int canal_inicial = 0, contagem_inicial = 0, total_contagem = 0, canal_final = 0, contagem_final = 0;
get_MaxCount(namedata, max_canal, max_contagem);
cout << "========================" << endl;
cout << " MAXIMA CONTAGEM " << endl;
cout << "Canal:" << " " << "Contagem:" << endl;
cout << " " << max_canal << " " << max_contagem << endl;
cout << "========================" << endl;
get_FirstChannel(namedata, max_canal, canal_inicial, contagem_inicial, canal_final, contagem_final);
cout << "========================" << endl;
cout << " CANAL INICIAL " << endl;
cout << "Canal:" << " " << "Contagem:" << endl;
cout << " " << canal_inicial << " " << contagem_inicial << endl;
cout << "========================" << endl;
cout << "========================" << endl;
cout << " CANAL FINAL " << endl;
cout << "Canal:" << " " << "Contagem:" << endl;
cout << " " << canal_final - 2 << " " << contagem_final << endl;
cout << "========================" << endl;
//make_Hist(namedata, canal_inicial, canal_final);
int nbin = max_canal-min_canal+1;
TH1 *h;
h = new TH1F ("h", "h", nbin , min_canal, max_canal+1);
int i = 0;
if (in.is_open())
{
while(getline(in, line))
{
in >> canal >> contagem;
if ((canal > (min_canal-1)) && (canal < (max_canal+1)))
{
i++;
h->SetBinContent(i,contagem);
}
}
}
}
void get_MaxCount(TString namedata, int &max_canal, int &max_contagem)
{
ifstream in;
in.open(namedata);
string line;
int canal, contagem;
if(in.is_open())
{
while(getline(in, line))
{
in >> canal >> contagem;
if(contagem > max_contagem)
{
max_contagem = contagem;
max_canal = canal;
}
}
}
}
void get_FirstChannel(TString namedata, int &max_canal, int &canal_inicial, int &contagem_inicial, int &canal_final, int &contagem_final)
{
ifstream in;
in.open(namedata);
string line;
int vteste[3] = {0,0,0};
int canal = 0, contagem;
if (in.is_open())
{
while(getline(in, line))
{
in >> canal >> contagem;
vteste[0] = vteste[1];
vteste[1] = vteste[2];
vteste[2] = contagem;
if((vteste[0] == 0) && (vteste[1] == 0) && (vteste[2] != 0))
{
canal_inicial = canal;
contagem_inicial = contagem;
break;
}
}
}
if (in.is_open())
{
while(getline(in, line))
{
in >> canal >> contagem;
int i = canal;
if (i >= max_canal)
{
vteste[0] = vteste[1];
vteste[1] = vteste[2];
vteste[2] = contagem;
if((vteste[0] == 0) && (vteste[1] == 0) && (vteste[2] == 0))
{
canal_final = canal;
contagem_final = contagem;
break;
}
}
}
}
}
void make_Hist(TString namedata, int &min_canal, int &max_canal)
{
TFile *f = new TFile(namefile, "UPDATE");
ifstream in;
in.open(namedata);
string line;
int canal;
float contagem;
int nbin = max_canal-min_canal+1;
TH1 *h3;
h3 = new TH1F ("h3", "h3", nbin , min_canal, max_canal+1);
int i = 0;
if (in.is_open())
{
while(getline(in, line))
{
in >> canal >> contagem;
if ((canal > (min_canal-1)) && (canal < (max_canal+1)))
{
i++;
h3->SetBinContent(i,contagem);
}
}
}
h3 -> Write();
f -> Close();
} Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como fazer a conversão binária e aplicar as restrições no Linux
Como quebrar a senha de um servidor Linux Debian
Como bloquear pendrive em uma rede Linux
Um autoinstall.yaml para Ubuntu com foco em quem vai fazer máquina virtual
Instalar GRUB sem archinstall no Arch Linux em UEFI Problemático
Formas seguras de instalar Debian Sid (13)
Malware encontrado em extensões do Firefox. (0)
Fiz uma pergunta no fórum mas não consigo localizar [RESOLVIDO] (21)









