LArSoft  v07_13_02
Liquid Argon Software toolkit - http://larsoft.org/
GFAbsEnergyLoss.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 
24 #ifndef GFABSENERGYLOSS_H
25 #define GFABSENERGYLOSS_H
26 
27 #include"TObject.h"
28 #include<vector>
29 #include"TVector3.h"
30 #include"TMatrixT.h"
31 
32 
44 namespace genf {
45 
46 class GFAbsEnergyLoss : public TObject{
47  public:
49 
51  virtual double energyLoss(const double& step,
52  const double& mom,
53  const int& pdg,
54  const double& matDensity,
55  const double& matZ,
56  const double& matA,
57  const double& radiationLength,
58  const double& meanExcitationEnergy,
59  const bool& doNoise = false,
60  TMatrixT<Double_t>* noise = NULL,
61  const TMatrixT<Double_t>* jacobian = NULL,
62  const TVector3* directionBefore = NULL,
63  const TVector3* directionAfter = NULL) = 0;
64  virtual ~GFAbsEnergyLoss();
65 
66  protected:
68  void getParticleParameters(const int& pdg,
69  double& charge,
70  double& mass);
72  double getParticleMass(const int& pdg);
73 
74  // public:
75  //ClassDef(GFAbsEnergyLoss,1);
76 
77 };
78 
79 } // namespace genf
80 #endif
81 
Generic Interface to magnetic fields in GENFIT.
virtual 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)=0
Calculates energy loss in a given step, optional calculation of noise matrix.
unsigned int noise()
Definition: chem4.cc:265
double getParticleMass(const int &pdg)
Returns particle mass (in GeV)
void getParticleParameters(const int &pdg, double &charge, double &mass)
Gets particle charge and mass (in GeV)