Dúvida sobre Código

Boa dia gente, estou tentando compreender um Código para uso do sensor TDS v1.0 a fim de obter medida de eletrocondutividade, mas estou com algumas dúvidas na compreensão do código.

Ele segue abaixo:

1 - dallasTemperature.requestTemperatures();
2 - sensor::waterTemp = dallasTemperature.getTempCByIndex(0);
3 - float rawEc = analogRead(pin::tds_sensor) * device::aref / 1024.0;
4 - float temperatureCoefficient = 1.0 + 0.02 * (sensor::waterTemp - 25.0);
5 - sensor::ec = ((rawEc / temperatureCoefficient) * sensor::ecCalibration)*900;
6 - sensor::tds = (133.42 * pow(sensor::ec, 3) - 255.86 * sensor::ec * sensor::ec + 857.39 * sensor::ec) * 0.5;

Esse seria o trecho do código.
Entendo que na linha 1 e 2 ele faz uma leitura para apresentação dos dados em ° C pela função requestTemperatureS() e que em seguida por meio do getTempCByIndex(0) ele faria uma busca por todos o sensores de Temperatura que possam estar presentes. Em resumo, seriam duas linhas dedicadas ao sensor de Temperatura.
A linha 3, corresponderia a leitura inicial do sensor tds de modo a ler o valor analogico do sensor e converter em voltagem.
A linha 4 faria a compensação de temperatura, já que a Eletrocondutividade depende da temperatura. Só não entendi o porquê dessa fórmula de compensação.
E as linhas 5 e 6 não consegui compreender muito bem, nem os comandos e nem o porque das fórmulas.
Além disso fiquei muito em dúvida sobre esse comando :: (dois pontos duas vezes) não achei em lugar nenhum o que isso significa.

Sobre as fórmulas da eletrocondutividade, sei que ela corresponde ao inverso da resistividade E = 1/r
E que a resistividade para soluções aquosas corresponde a r = R.k, em que R é a resistência e k uma constante. Mas não consegui aplicar isso nessas conversões que aparecem no código.

Pelo que consegui compreender o sensor tds, mede a resistência do líquido entre os dois eletrodos e converte isso ou na tds ou mesmo em EC.

Caso alguém tenha experiência com esse sensor/tipo de código e puder ajudar, seria grato.