Updated loading mapping from CDB:
authorivana <ivana@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 3 Oct 2007 13:26:11 +0000 (13:26 +0000)
committerivana <ivana@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 3 Oct 2007 13:26:11 +0000 (13:26 +0000)
There is no need anymore to load AliMpSegmentation before loading
DDLStore (it is done automatically)

MUON/AliMUONCDB.cxx
MUON/AliMUONDigitizerV3.cxx
MUON/AliMUONSt1GeometryBuilderV2.cxx
MUON/AliMUONSt1GeometryBuilderV2.h
MUON/AliMUONv1.cxx
MUON/TestMUONPreprocessor.C
MUON/mapping/AliMpDEVisu.cxx

index 1386e4a0baedc8ddd19a2bd63c9f34e57aae0aa7..662d7bf4439ac85d2341968b84fa251bf4e18231 100644 (file)
@@ -172,8 +172,12 @@ AliMUONCDB::ManuList()
   {
     AliInfo("Generating ManuList...");
     AliCDBManager::Instance()->SetDefaultStorage(fCDBPath);
-    AliMpCDB::LoadMpSegmentation();
-    AliMpCDB::LoadDDLStore();
+
+    // Load mapping
+    if ( ! AliMpCDB::LoadDDLStore() ) {
+      AliFatal("Could not access mapping from OCDB !");
+    }
+
     fManuList = AliMpManuList::ManuList();
     AliInfo("Manu List generated.");
   }
index 29edc6a0cd79644165bca9cd405c5a077a383aa8..7aed1f714f64b14bf528e6c5dcce5f27ed1fd958 100644 (file)
@@ -18,9 +18,6 @@
 
 #include "AliMUONDigitizerV3.h"
 
-#include "AliCDBManager.h"
-#include "AliCodeTimer.h"
-#include "AliLog.h"
 #include "AliMUON.h"
 #include "AliMUONCalibrationData.h"
 #include "AliMUONConstants.h"
 #include "AliMUONTriggerStoreV1.h"
 #include "AliMUONVCalibParam.h"
 #include "AliMUONVDigitStore.h"
+#include "AliMUONGeometryTransformer.h" //ADDED for trigger noise
+
 #include "AliMpCDB.h"
+#include "AliMpSegmentation.h"
 #include "AliMpCathodType.h"
 #include "AliMpConstants.h"
 #include "AliMpDEIterator.h"
 #include "AliMpDEManager.h"
 #include "AliMpIntPair.h"
 #include "AliMpPad.h"
-#include "AliMpSegmentation.h"
 #include "AliMpStationType.h"
 #include "AliMpVSegmentation.h"
+
+#include "AliCDBManager.h"
+#include "AliCodeTimer.h"
+#include "AliLog.h"
 #include "AliRun.h"
 #include "AliRunDigitizer.h"
 #include "AliRunLoader.h"
+
 #include <Riostream.h>
 #include <TF1.h>
 #include <TFile.h>
@@ -51,8 +55,6 @@
 #include <TString.h>
 #include <TSystem.h>
 
-#include "AliMUONGeometryTransformer.h" //ADDED for trigger noise
-
 //-----------------------------------------------------------------------------
 /// \class AliMUONDigitizerV3
 /// The digitizer is performing the transformation to go from SDigits (digits
@@ -696,16 +698,11 @@ AliMUONDigitizerV3::Init()
   
   Int_t runnumber = AliCDBManager::Instance()->GetRun();
   
-  if ( ! AliMpCDB::LoadMpSegmentation()  ) 
-  {
+  // Load mapping
+  if ( ! AliMpCDB::LoadDDLStore() ) {
     AliFatal("Could not access mapping from OCDB !");
   }
   
-  if ( ! AliMpCDB::LoadDDLStore() ) 
-  {
-    AliFatal("Could not access DDL Store from OCDB !");
-  }
-  
   fCalibrationData = new AliMUONCalibrationData(runnumber);
   if ( !fCalibrationData->Pedestals() )
   {
index d4639a5e4f9b2a17566c5820dc95378663702b47..f4a1b52b1b3f8ac88da1bfb187cfc57420604e85 100644 (file)
 #include "AliMUONGeometryModule.h"
 #include "AliMUONGeometryEnvelopeStore.h"
 
+#include "AliMpSegmentation.h"
+#include "AliMpDEManager.h"
 #include "AliMpContainers.h"
 #include "AliMpConstants.h"
-#include "AliMpFiles.h"
-#include "AliMpSectorReader.h"
+#include "AliMpCDB.h"
+#include "AliMpSectorSegmentation.h"
 #include "AliMpSector.h"
 #include "AliMpRow.h"
 #include "AliMpVRowSegment.h"
@@ -135,17 +137,6 @@ AliMUONSt1GeometryBuilderV2::AliMUONSt1GeometryBuilderV2(AliMUON* muon)
     fMUON(muon)
 {
 /// Standard constructor
-
-   // set path to mapping data files
-   if (! gSystem->Getenv("MINSTALL")) {    
-     TString dirPath = gSystem->Getenv("ALICE_ROOT");
-     dirPath += "/MUON/mapping"; 
-     AliMpFiles::SetTopPath(dirPath);
-     gSystem->Setenv("MINSTALL", dirPath.Data());
-     //cout << "AliMpFiles top path set to " << dirPath << endl;         
-   }
-   //else
-   //  cout << gSystem->Getenv("MINSTALL") << endl;              
 }
  
 //______________________________________________________________________________
@@ -500,15 +491,30 @@ void AliMUONSt1GeometryBuilderV2::CreateQuadrant(Int_t chamber)
   specialMap.Add(47, (Long_t) new AliMUONSt1SpecialMotif(TVector2(1.01, 0.36)));
 #endif
 
+  // Load mapping from OCDB
+  if ( ! AliMpSegmentation::Instance() ) {
+    AliFatal("Mapping has to be loaded first !");
+  }
+       
+  const AliMpSectorSegmentation* kSegmentation1 
+    = dynamic_cast<const AliMpSectorSegmentation*>(
+        AliMpSegmentation::Instance()
+          ->GetMpSegmentation(100, AliMpDEManager::GetCathod(100, AliMp::kBendingPlane))); 
+  if ( ! kSegmentation1 ) {
+    AliFatal("Could not access sector segmentation !");
+  }
+    
+  const AliMpSector* kSector1 = kSegmentation1->GetSector();
+/*
   AliMpSectorReader reader1(AliMp::kStation1, AliMp::kBendingPlane);
-  AliMpSector* sector1 = reader1.BuildSector();
-
+  AliMpSector* kSector1 = reader1.BuildSector();
+*/
   //Bool_t reflectZ = true;
   Bool_t reflectZ = false;
   //TVector3 where = TVector3(2.5+0.1+0.56+0.001, 2.5+0.1+0.001, 0.);
   TVector3 where = TVector3(fgkDeltaQuadLHC + fgkPadXOffsetBP, 
                             fgkDeltaQuadLHC + fgkPadYOffsetBP, 0.);
-  PlaceSector(sector1, specialMap, where, reflectZ, chamber);
+  PlaceSector(kSector1, specialMap, where, reflectZ, chamber);
   
 #ifdef WITH_STL
   specialMap.clear();
@@ -536,18 +542,28 @@ void AliMUONSt1GeometryBuilderV2::CreateQuadrant(Int_t chamber)
       // in the true position)   
       // Was: specialMap.Add(47,(Long_t) new AliMUONSt1SpecialMotif(TVector2(1.61,-1.18)));
 #endif
-
+/*
   AliMpSectorReader reader2(AliMp::kStation1, AliMp::kNonBendingPlane);
   AliMpSector* sector2 = reader2.BuildSector();
-  
+*/  
+  const AliMpSectorSegmentation* kSegmentation2 
+    = dynamic_cast<const AliMpSectorSegmentation*>(
+        AliMpSegmentation::Instance()
+          ->GetMpSegmentation(100, AliMpDEManager::GetCathod(100, AliMp::kNonBendingPlane))); 
+  if ( ! kSegmentation2 ) {
+    AliFatal("Could not access sector segmentation !");
+  }
+    
+  const AliMpSector* kSector2 = kSegmentation2->GetSector();
+
   //reflectZ = false;
   reflectZ = true;
-  TVector2 offset = sector2->Position();
+  TVector2 offset = kSector2->Position();
   where = TVector3(where.X()+offset.X(), where.Y()+offset.Y(), 0.); 
       // Add the half-pad shift of the non-bending plane wrt bending plane
       // (The shift is defined in the mapping as sector offset)
       // Fix (4) - was TVector3(where.X()+0.63/2, ... - now it is -0.63/2
-  PlaceSector(sector2, specialMap, where, reflectZ, chamber);
+  PlaceSector(kSector2, specialMap, where, reflectZ, chamber);
 
 #ifdef WITH_ROOT
   specialMap.Delete();
@@ -2135,7 +2151,8 @@ void AliMUONSt1GeometryBuilderV2::PlaceInnerLayers(Int_t chamber)
 }
 
 //______________________________________________________________________________
-void AliMUONSt1GeometryBuilderV2::PlaceSector(AliMpSector* sector,SpecialMap specialMap, 
+void AliMUONSt1GeometryBuilderV2::PlaceSector(const AliMpSector* sector,
+                            SpecialMap specialMap, 
                             const TVector3& where, Bool_t reflectZ, Int_t chamber)
 {
 /// Place all the segments in the mother volume, at the position defined
index 5586aece6f4a67093d998123805c60782946b480..3b070dd1bb24e85fb7e5f8858fb19de486b6251d 100644 (file)
@@ -136,7 +136,7 @@ class AliMUONSt1GeometryBuilderV2 : public AliMUONVGeometryBuilder
     void CreateFrame(Int_t chamber);
 
     void PlaceInnerLayers(Int_t chamber);
-    void PlaceSector(AliMpSector* sector, SpecialMap specialMap,
+    void PlaceSector(const AliMpSector* sector, SpecialMap specialMap,
                      const TVector3& where, Bool_t reflectZ, Int_t chamber);
                     
     TString QuadrantEnvelopeName(Int_t chamber, Int_t quadrant) const;
index 078893a844c993a58f67ece02e7a7621f3f6f2ba..378db3894bd1588e51fb98c5756b0a983f53b42d 100644 (file)
@@ -33,6 +33,7 @@
 #include "AliMUONStringIntMap.h"       
 #include "AliMUONGeometryDetElement.h" 
 
+#include "AliMpCDB.h"
 #include "AliMpDEManager.h"
 
 #include "AliConst.h" 
@@ -92,6 +93,11 @@ AliMUONv1::AliMUONv1(const char *name, const char* title)
 
     AliDebug(1,Form("ctor this=%p",this));     
        
+    // Load mapping
+    if ( ! AliMpCDB::LoadMpSegmentation() ) {
+      AliFatal("Could not access mapping from OCDB !");
+    }
+       
     // By default include all stations
 
     fStepSum   = new Float_t [AliMUONConstants::NCh()];
index c71b71272285aab2568180a4517d20eff26fced8..fb5f2b1025c3d228453d6441c61feb728448e042 100644 (file)
@@ -138,8 +138,7 @@ TMap* CreateDCSAliasMap()
   ///     <valueList> is a TObjArray of AliDCSValue
   ///     An AliDCSValue consists of timestamp and a value in form of a AliSimpleValue
   
-  // Load mapping from CDB
-  AliMpCDB::LoadMpSegmentation();
+  // Load mapping
   AliMpCDB::LoadDDLStore();
 
   TMap* aliasMap = new TMap;
index 9939360ef540447322c9618b4d002bad950192b2..97f61391857af3aed6a98f6a35df26d51d98a099 100644 (file)
@@ -96,16 +96,9 @@ AliMpDEVisu::AliMpDEVisu(UInt_t w, UInt_t h)
 /// Standard constructor
 
   // Load mapping
-  if ( ! AliMpCDB::LoadMpSegmentation() ) 
-  {
+  if ( ! AliMpCDB::LoadDDLStore() ) {
     AliFatal("Could not access mapping from OCDB !");
   }
-  
-  // Load DDL store
-  if ( ! AliMpCDB::LoadDDLStore() ) 
-  {
-    AliFatal("Could not access DDL Store from OCDB !");
-  }
 
   fDDLStore = AliMpDDLStore::Instance();