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_COMMON_BETHEBLOCH_H_
13#define AliceO2_COMMON_BETHEBLOCH_H_
14
15#include "GPUCommonDef.h"
16#include "GPUCommonMath.h"
17
18namespace o2::common
19{
20
21template <typename T>
22GPUdi() T BetheBlochAleph(T bg, T kp1, T kp2, T kp3, T kp4, T kp5)
23{
24 T beta = bg / o2::gpu::GPUCommonMath::Sqrt(static_cast<T>(1.) + bg * bg);
25
26 T aa = o2::gpu::GPUCommonMath::Pow(beta, kp4);
27 T bb = o2::gpu::GPUCommonMath::Pow(static_cast<T>(1.) / bg, kp5);
28 bb = o2::gpu::GPUCommonMath::Log(kp3 + bb);
29
30 return (kp2 - aa - bb) * kp1 / aa;
31}
32
33} // namespace o2::common
34
35#endif
GPUdi() T BetheBlochAleph(T bg
T T T T T kp5