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();
}
Vou voltar moderar conteúdos de Dicas e Artigos (0)
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Instalação Uefi com o instalador clássico do Mageia (1)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta