Project
Loading...
Searching...
No Matches
BetheBlochAleph.h
Go to the documentation of this file.
1// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3// All rights not expressly granted are reserved.
4//
5// This software is distributed under the terms of the GNU General Public
6// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7//
8// In applying this license CERN does not waive the privileges and immunities
9// granted to it by virtue of its status as an Intergovernmental Organization
10// or submit itself to any jurisdiction.
11
12#ifndef AliceO2_TPC_BETHEBLOCH_H_
13#define AliceO2_TPC_BETHEBLOCH_H_
14
15#include "GPUCommonDef.h"
16#include "GPUCommonMath.h"
17
18namespace o2
19{
20namespace tpc
21{
22
23template <typename T>
24GPUdi() T BetheBlochAleph(T bg, T kp1, T kp2, T kp3, T kp4, T kp5)
25{
26 T beta = bg / o2::gpu::GPUCommonMath::Sqrt(static_cast<T>(1.) + bg * bg);
27
28 T aa = o2::gpu::GPUCommonMath::Pow(beta, kp4);
29 T bb = o2::gpu::GPUCommonMath::Pow(static_cast<T>(1.) / bg, kp5);
30 bb = o2::gpu::GPUCommonMath::Log(kp3 + bb);
31
32 return (kp2 - aa - bb) * kp1 / aa;
33}
34
35} // namespace tpc
36} // namespace o2
37
38#endif
T T T T kp4
GPUdi() T BetheBlochAleph(T bg
T T T T T kp5
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...