From 00ee79995be2555766b76dcac7641455e991a4dd Mon Sep 17 00:00:00 2001 From: jgrosseo Date: Thu, 13 Mar 2008 16:37:42 +0000 Subject: [PATCH] Adding possibility to change the material density globally. This can be used for systematic studies to evaluate the effect of a misestimation of the material budget. --- STEER/AliModule.cxx | 10 ++++++++-- STEER/AliModule.h | 7 ++++++- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/STEER/AliModule.cxx b/STEER/AliModule.cxx index f11805c475b..fc3a2545df1 100644 --- a/STEER/AliModule.cxx +++ b/STEER/AliModule.cxx @@ -57,6 +57,8 @@ ClassImp(AliModule) +Float_t AliModule::fgDensityFactor = 1.0; + //_______________________________________________________________________ AliModule::AliModule(): fEuclidMaterial(""), @@ -221,7 +223,9 @@ void AliModule::AliMaterial(Int_t imat, const char* name, Float_t a, kmat = mat->GetUniqueID(); (*fIdmate)[imat]=kmat; }else{ - gMC->Material(kmat, uniquename.Data(), a, z, dens, radl, absl, buf, nwbuf); + if (fgDensityFactor != 1.0) + AliWarning(Form("Material density multiplied by %.2f!", fgDensityFactor)); + gMC->Material(kmat, uniquename.Data(), a, z, dens * fgDensityFactor, radl, absl, buf, nwbuf); (*fIdmate)[imat]=kmat; } } @@ -287,7 +291,9 @@ void AliModule::AliMixture(Int_t imat, const char *name, Float_t *a, kmat = mat->GetUniqueID(); (*fIdmate)[imat]=kmat; }else{ - gMC->Mixture(kmat, uniquename.Data(), a, z, dens, nlmat, wmat); + if (fgDensityFactor != 1.0) + AliWarning(Form("Material density multiplied by %.2f!", fgDensityFactor)); + gMC->Mixture(kmat, uniquename.Data(), a, z, dens * fgDensityFactor, nlmat, wmat); (*fIdmate)[imat]=kmat; } } diff --git a/STEER/AliModule.h b/STEER/AliModule.h index 1a8540e6dea..bb2658e6375 100644 --- a/STEER/AliModule.h +++ b/STEER/AliModule.h @@ -153,6 +153,9 @@ public: // Quality Assurance methods virtual void CheckQA() { ; } + static void SetDensityFactor(Float_t density) { fgDensityFactor = density; } + static Float_t GetDensityFactor() { return fgDensityFactor; } + protected: // Data members @@ -175,10 +178,12 @@ protected: AliRunLoader* fRunLoader; //!local pointer to run loader + static Float_t fgDensityFactor; //! factor that is multiplied to all material densities (ONLY for systematic studies) + private: AliModule(const AliModule &mod); AliModule& operator=(const AliModule &mod); - ClassDef(AliModule,7) //Base class for ALICE Modules + ClassDef(AliModule,8) //Base class for ALICE Modules }; #endif -- 2.43.0