From 4787b401df39b2d87d1e8e0cc7cfbd7cb1299aa6 Mon Sep 17 00:00:00 2001 From: cvetan Date: Tue, 26 Sep 2006 14:11:43 +0000 Subject: [PATCH] Introduction of alignable nodes symbolic names (R.Grosso) --- STEER/AliDetector.cxx | 7 +++++++ STEER/AliDetector.h | 1 + STEER/AliMC.cxx | 19 ++++++++++++++++++- STEER/AliMC.h | 1 + STEER/AliModule.cxx | 7 +++++++ STEER/AliModule.h | 2 +- 6 files changed, 35 insertions(+), 2 deletions(-) diff --git a/STEER/AliDetector.cxx b/STEER/AliDetector.cxx index 71d748b5b2d..76a89e1eb77 100644 --- a/STEER/AliDetector.cxx +++ b/STEER/AliDetector.cxx @@ -148,6 +148,13 @@ void AliDetector::Publish(const char */*dir*/, void */*address*/, const char */* MayNotUse("Publish"); } +//_______________________________________________________________________ +void AliDetector::AddAlignableVolumes() const +{ + // + AliWarning(Form("%s still has to implement the AddAlignableVolumes method!",GetName())); +} + //_______________________________________________________________________ TBranch* AliDetector::MakeBranchInTree(TTree *tree, const char* name, void* address, Int_t size, diff --git a/STEER/AliDetector.h b/STEER/AliDetector.h index c2c54e934a2..de5e6b1f775 100644 --- a/STEER/AliDetector.h +++ b/STEER/AliDetector.h @@ -50,6 +50,7 @@ public: virtual void MakeBranch(Option_t *opt=" "); virtual void ResetDigits(); virtual void ResetHits(); + virtual void AddAlignableVolumes() const; virtual void ResetPoints(); virtual void SetTreeAddress(); diff --git a/STEER/AliMC.cxx b/STEER/AliMC.cxx index 31db1a89ce3..8bbba67a65f 100644 --- a/STEER/AliMC.cxx +++ b/STEER/AliMC.cxx @@ -198,7 +198,22 @@ void AliMC::InitGeometry() AliInfo(Form("%10s R:%.2fs C:%.2fs", detector->GetName(),stw.RealTime(),stw.CpuTime())); } - +} + +//_______________________________________________________________________ +void AliMC::SetAllAlignableVolumes() +{ + // + // Add alignable volumes (TGeoPNEntries) looping on all + // active modules + // + + AliInfo(Form("Setting entries for all alignable volumes of active detectors")); + AliModule *detector; + TIter next(gAlice->Modules()); + while((detector = dynamic_cast(next()))) { + detector->AddAlignableVolumes(); + } } //_______________________________________________________________________ @@ -622,6 +637,8 @@ void AliMC::Init() //=================Create Materials and geometry gMC->Init(); + //Set alignable volumes for the whole geometry + SetAllAlignableVolumes(); //Read the cuts for all materials ReadTransPar(); //Build the special IMEDIA table diff --git a/STEER/AliMC.h b/STEER/AliMC.h index c10e0358253..e7230d560e0 100644 --- a/STEER/AliMC.h +++ b/STEER/AliMC.h @@ -38,6 +38,7 @@ public: // virtual void ConstructGeometry(); virtual void InitGeometry(); + virtual void SetAllAlignableVolumes(); virtual void GeneratePrimaries(); virtual void BeginEvent(); virtual void BeginPrimary(); diff --git a/STEER/AliModule.cxx b/STEER/AliModule.cxx index bde9763d65b..321db450879 100644 --- a/STEER/AliModule.cxx +++ b/STEER/AliModule.cxx @@ -687,6 +687,13 @@ void AliModule::ReadEuclidMedia(const char* filnam) AliWarning("reading error or premature end of file"); } +//_______________________________________________________________________ +void AliModule::AddAlignableVolumes() const +{ + // + AliWarning(Form(" %s still has to implement the AddAlignableVolumes method!",GetName())); +} + //_______________________________________________________________________ void AliModule::RemapTrackReferencesIDs(Int_t *map) { diff --git a/STEER/AliModule.h b/STEER/AliModule.h index d058c541c6f..0525452b9a0 100644 --- a/STEER/AliModule.h +++ b/STEER/AliModule.h @@ -105,7 +105,7 @@ public: virtual void Browse(TBrowser *) {} virtual void CreateGeometry() {} virtual void CreateMaterials() {} - virtual void AddAlignableVolumes() const {} + virtual void AddAlignableVolumes() const; virtual void Disable(); virtual void Enable(); virtual void PreTrack(){} -- 2.43.0