]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - TFluka/abscff.cxx
Common block updates needed for fluka2005.6
[u/mrichter/AliRoot.git] / TFluka / abscff.cxx
... / ...
CommitLineData
1#include "Fdimpar.h" //(DIMPAR) fluka include
2#include "Ftrackr.h" //(TRACKR) fluka common
3#include "Fiounit.h" //(IOUNIT) fluka common
4#include "TFluka.h"
5#include "TGeoMaterial.h"
6#include "TFlukaCerenkov.h"
7
8
9#ifndef WIN32
10# define abscff abscff_
11#else
12# define abscff ABSCFF
13#endif
14extern "C" {
15Double_t abscff(Double_t& wvlngt, Double_t& /*omgpho*/, Int_t& mmat)
16{
17//
18// Return absorption length for given photon energy and material
19//
20
21 TFluka* fluka = (TFluka*) gMC;
22//
23// Check if stopping has been required by user
24//
25 if (fluka->GetStoppingCondition()) {
26 fluka->ResetStoppingCondition();
27 return (1.e15);
28 }
29//
30// Get absorption coefficient for current material
31//
32 TGeoMaterial* material = (TGeoMaterial*) (fluka->GetFlukaMaterials())->At(fluka->GetMaterialIndex(mmat));
33 TFlukaCerenkov* cerenkov = dynamic_cast<TFlukaCerenkov*> (material->GetCerenkovProperties());
34 Double_t y = (cerenkov->GetAbsorptionCoefficientByWaveLength(wvlngt));
35 return (y);
36
37}
38}
39
40