ATLAS Offline Software
Loading...
Searching...
No Matches
MuonBetaCalculationUtils.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef MUON_MUONBETACALCULATIONUTILS_H
6#define MUON_MUONBETACALCULATIONUTILS_H
7
8#include "GaudiKernel/PhysicalConstants.h"
9
10namespace Muon {
11
13 public:
14
15 MuonBetaCalculationUtils(float mass=0.) : m_mass2(mass*mass) {}
16
17 float calculateBetaTrack( float p ) {
18 return fabs(p)/sqrt(p*p+m_mass2);
19 }
20
21 float calculateBeta( float time, float dist ) {
22 return dist*m_inverseSpeedOfLight/time;
23 }
24
25 float calculateBetaError( float time, float error, float dist ) {
26 return dist*m_inverseSpeedOfLight/(time*time)*error;
27 }
28
29 float calculateInverseBeta( float time, float dist ) {
30 return time/(dist*m_inverseSpeedOfLight);
31 }
32
33 float calculateInverseBetaError( float error, float dist ) {
34 return error/(dist*m_inverseSpeedOfLight);
35 }
36
37 float calculateTof( float beta, float dist ){
38 return dist*m_inverseSpeedOfLight/beta;
39 }
40
41 private:
42 const double m_inverseSpeedOfLight = 1 / Gaudi::Units::c_light; // need 1/299.792458 inside calculateTof()/calculateBeta()
43 float m_mass2;
44 };
45
46}
47
48
49#endif
float calculateTof(float beta, float dist)
float calculateInverseBetaError(float error, float dist)
float calculateBeta(float time, float dist)
float calculateBetaError(float time, float error, float dist)
float calculateInverseBeta(float time, float dist)
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.