;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL

Caça à partícula fantasma

Como cientistas criaram armadilha de gelo na Antártida para descobrir uma fonte de raios cósmicos

Fernando Cymbaluk Do UOL, em São Paulo IceCube
IceCube

Por ser tão leve, neutro e pequeno, o neutrino, uma das mais abundantes partículas do Universo, atravessa tudo a todo momento sem ser notado. E aí estava um grande desafio da ciência. Para detectar um neutrino que chegou na Terra vindo de uma galáxia distante, foi necessário construir um experimento espantoso. Os cientistas instalaram 5.160 sensores do tamanho de holofotes de navio em um cubo de gelo de um quilômetro cúbico, enterrado a um quilômetro e meio de profundidade no coração da Antártida.

Em 2013, um neutrino vindo de uma distante galáxia foi detectado no grande cubo de gelo. A caçada de partículas de mais de um século começava a chegar ao fim, explicou ao UOL o físico americano Francis Halzen, líder das pesquisas no IceCube. Ele esteve em São Paulo em outubro, quando foi apresentado como integrante do Comitê Internacional do Instituto Principia -- um centro brasileiro recém-inaugurado de produção e difusão científica. 

VF Hess Society/Schloss Pöllau/Austria

A busca pela origem dos raios cósmicos

A história dessa caçada remonta a uma experiência um tanto divertida, realizada em 1912. Os cientistas não sabiam o que fazia com que certos materiais na Terra ganhassem ou perdessem elétrons --a chamada ionização. E ficavam surpresos ao perceberem que o fenômeno ganhava intensidade diferente em locais altos, como no topo da torre Eiffel.

Para desvendar o mistério, o físico austríaco Victor Hess subiu aos céus em um balão levando sensores de radiação. Quanto mais subia, mais forte ficava a radiação captada. A conclusão de Hess foi que existiam partículas ionizantes vindo do espaço. Ele as batizou de raios cósmicos. "Os cientistas têm procurado de onde essas partículas partem há mais de um século", conta Francis Halzen.

Que tiro foi esse?

Que partícula observar? Que partícula observar?

Os raios cósmicos são as partículas com as mais altas energias já observadas pelos cientistas. Grande parte é gerada em explosões de estrelas na Via Láctea. Mas aqueles com energias mais altas só podem ser produzidos em eventos cataclísmicos fora da Via Láctea, como explosões de supernovas e choques de galáxias.

Uma chuva de raios cósmicos, composta por prótons, elétrons, neutrinos, raios gama e outras partículas, cai constantemente sobre a Terra, mas nenhum cientista fazia ideia ao certo de onde vinham e o que os disparavam. "A forma que temos para conhecer o Universo é detectando a radiação que chega até nós", explica Halzen. Os telescópios permitem observar as ondas eletromagnéticas que alcançam a Terra de diferentes formas -- em luz visível, infravermelho, raios-x, ondas de rádio, etc.

"Mas os raios cósmicos que nos atingem chegam na forma de partículas", completa o físico americano.

Entram aí algumas dificuldades: primeiro, qual instrumento utilizar para visualizar esses raios, uma vez que os telescópios não os captam. Outro problema é qual partícula observar. Prótons e elétrons são desviados de um lado para o outro, o que dificulta rastrear a origem.

Para encontrar a fonte dos raios cósmicos, portanto, seria necessário achar algo que viajasse até a Terra em linha reta. O pequeníssimo e invisível neutrino, quem diria, era a solução.

IceCube

Caçadores da "partícula fantasma"

O apelido "partícula fantasma" não é exagero. Neutrinos são levíssimos -- algumas centenas de vezes mais leves que o elétron --, não têm carga elétrica e quase não possuem massa. De tão pequenos, atravessam astros e campos magnéticos sem se desviar, interagindo muito debilmente com a matéria. Bilhões dessas "partículas fantasmas" peram cada centímetro quadrado da Terra (e de nossos corpos) a cada segundo, vindas do espaço.

Os neutrinos existem em abundância no Universo conhecido, perdendo em número apenas para o fóton, a partícula de luz. Além de comporem os raios cósmicos, também são produzidos no Sol e surgem em reatores nucleares e aceleradores de partículas na Terra. A diferença é que os neutrinos dos raios cósmicos possuem energias altíssimas.

"A busca [por neutrinos] ou a fazer parte de uma das maiores questões da física e da astronomia: qual é a origem dos raios cósmicos">

Publicado em 20 de novembro de 2018

Edição: Bruno Aragaki e Lúcia Valentim Rodrigues;