All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GFEnergyLossBetheBloch.h
Go to the documentation of this file.
1 /* Copyright 2008-2009, Technische Universitaet Muenchen,
2  Authors: Christian Hoeppner & Sebastian Neubert
3 
4  This file is part of GENFIT.
5 
6  GENFIT is free software: you can redistribute it and/or modify
7  it under the terms of the GNU Lesser General Public License as published
8  by the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  GENFIT is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU Lesser General Public License for more details.
15 
16  You should have received a copy of the GNU Lesser General Public License
17  along with GENFIT. If not, see <http://www.gnu.org/licenses/>.
18 */
19 
20 /** @addtogroup RKTrackRep
21  * @{
22  */
23 
24 #ifndef GFENERGYLOSSBETHEBLOCH_H
25 #define GFENERGYLOSSBETHEBLOCH_H
26 
27 #include"GFAbsEnergyLoss.h"
28 
29 #include "RtypesCore.h"
30 class TVector3;
31 
32 
33 /** @brief Energy loss for charged particles (Bethe Bloch), energy loss straggeling
34  *
35  * @author Christian H&ouml;ppner (Technische Universit&auml;t M&uuml;nchen, original author)
36  * @author Sebastian Neubert (Technische Universit&auml;t M&uuml;nchen, original author)
37  * @author Johannes Rauch (Technische Universit&auml;t M&uuml;nchen, author)
38  *
39  *
40  *
41  *
42  *
43  */
44 namespace genf {
45 
47  public:
48  //! Returns energy loss, optional calculation of energy loss straggeling
49  /** Uses Bethe Bloch formula to calculate energy loss.
50  * For the energy loss straggeling, different formulas are used for different regions:
51  * - Vavilov-Gaussian regime
52  * - Urban/Landau approximation
53  * - truncated Landau distribution
54  * - Urban model
55  *
56  */
57  double energyLoss(const double& step,
58  const double& mom,
59  const int& pdg,
60  const double& matDensity,
61  const double& matZ,
62  const double& matA,
63  const double& radiationLength,
64  const double& meanExcitationEnergy,
65  const bool& doNoise = false,
66  TMatrixT<Double_t>* noise = NULL,
67  const TMatrixT<Double_t>* jacobian = NULL,
68  const TVector3* directionBefore = NULL,
69  const TVector3* directionAfter = NULL);
70  virtual ~GFEnergyLossBetheBloch();
71 
72  // public:
73  //ClassDef(GFEnergyLossBetheBloch,1);
74 
75 };
76 
77 } // namespace genf
78 
79 #endif
80 
81 /** @} */
var pdg
Definition: selectors.fcl:14
double energyLoss(const double &step, const double &mom, const int &pdg, const double &matDensity, const double &matZ, const double &matA, const double &radiationLength, const double &meanExcitationEnergy, const bool &doNoise=false, TMatrixT< Double_t > *noise=NULL, const TMatrixT< Double_t > *jacobian=NULL, const TVector3 *directionBefore=NULL, const TVector3 *directionAfter=NULL)
Returns energy loss, optional calculation of energy loss straggeling.