- Using AliMUONStringIntMap instead of AliMUONGeometrySVMap
authorivana <ivana@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 8 Feb 2006 15:09:17 +0000 (15:09 +0000)
committerivana <ivana@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 8 Feb 2006 15:09:17 +0000 (15:09 +0000)
- Volume names attributes moved in AliMUONGeometryModuleTransformer
  as volumePath; their setters/getters changed accordingly
- Reordered includes, forward declarations

MUON/AliMUONGeometryModule.cxx
MUON/AliMUONGeometryModule.h

index 86a5417..4c884fa 100644 (file)
 //
 // Author: Ivana Hrivnacova, IPN Orsay
 
-#include <TVirtualMC.h>
-#include <TGeoMatrix.h>
-#include <TObjArray.h>
-#include <TArrayI.h>
-#include <Riostream.h>
-
-#include "AliLog.h"    
-
 #include "AliMUONGeometryModule.h"
 #include "AliMUONGeometryModuleTransformer.h"
 #include "AliMUONGeometryEnvelope.h"
 #include "AliMUONGeometryEnvelopeStore.h"
 #include "AliMUONGeometryDetElement.h" 
 #include "AliMUONGeometryStore.h"      
-#include "AliMUONGeometrySVMap.h"      
+#include "AliMUONStringIntMap.h"       
+
+#include "AliLog.h"    
+
+#include <TVirtualMC.h>
+#include <TGeoMatrix.h>
+#include <TObjArray.h>
+#include <TArrayI.h>
+#include <Riostream.h>
 
 ClassImp(AliMUONGeometryModule)
 
@@ -45,8 +45,6 @@ ClassImp(AliMUONGeometryModule)
 AliMUONGeometryModule::AliMUONGeometryModule(Int_t moduleId)
  : TObject(),
    fIsVirtual(true),
-   fMotherVolume("ALIC"),
-   fVolume("NONE"),
    fNofSVs(0),
    fSVVolumeIds(0),
    fEnvelopes(0),
@@ -59,7 +57,7 @@ AliMUONGeometryModule::AliMUONGeometryModule(Int_t moduleId)
   fSVVolumeIds = new TArrayI(20);
 
   // Sensitive volumes map
-  fSVMap = new AliMUONGeometrySVMap(100);
+  fSVMap = new AliMUONStringIntMap();
 
   // Geometry parametrisation
   fTransformer = new AliMUONGeometryModuleTransformer(moduleId);
@@ -74,8 +72,6 @@ AliMUONGeometryModule::AliMUONGeometryModule(Int_t moduleId)
 AliMUONGeometryModule::AliMUONGeometryModule()
  : TObject(),
    fIsVirtual(true),
-   fMotherVolume(),
-   fVolume(),
    fNofSVs(0),
    fSVVolumeIds(0),
    fEnvelopes(0),
@@ -142,16 +138,6 @@ Int_t AliMUONGeometryModule::GetSVIndex(Int_t svVolId) const
 //
 
 //______________________________________________________________________________
-void AliMUONGeometryModule::SetVolume(const TString& volumeName)
-{ 
-/// Set the concrete volume associated with this module.
-/// The module in not virtual in this case
-
-  fVolume = volumeName;
-  fIsVirtual = false;
-}
-
-//______________________________________________________________________________
 void  AliMUONGeometryModule::SetTransformation(const TGeoCombiTrans& transform)
 {
 /// Set the module position wrt world.
@@ -160,6 +146,14 @@ void  AliMUONGeometryModule::SetTransformation(const TGeoCombiTrans& transform)
 }  
 
 //______________________________________________________________________________
+void AliMUONGeometryModule::SetVolumePath(const TString& volumePath)
+{ 
+/// Set the volume path to transformer
+
+  fTransformer->SetVolumePath(volumePath);
+}
+
+//______________________________________________________________________________
 void  AliMUONGeometryModule::SetSensitiveVolume(Int_t svVolId)
 {
 /// Add the volume specified by volId to the list of sensitive
@@ -194,7 +188,7 @@ AliMUONGeometryModule::FindBySensitiveVolume(const TString& sensVolume) const
 {
 /// Find TGeoCombiTrans for the detector element Id specified by aligned volume 
 
-  Int_t detElemId = fSVMap->GetDetElemId(sensVolume);
+  Int_t detElemId = fSVMap->Get(sensVolume);
 
   if (!detElemId) return 0; 
         // The specified sensitive volume is not in the map   
index a733c89..b017d02 100644 (file)
 #ifndef ALI_MUON_GEOMETRY_MODULE_H
 #define ALI_MUON_GEOMETRY_MODULE_H
 
+#include "AliMUONGeometryModuleTransformer.h"
+
 #include <TObject.h>
 #include <TString.h>
 
-#include "AliMUONGeometryModuleTransformer.h"
+class AliMUONGeometryEnvelope;
+class AliMUONGeometryEnvelopeStore;
+class AliMUONGeometryDetElement;
+class AliMUONGeometryStore;
+class AliMUONStringIntMap;
 
 class TGeoTranslation;
 class TGeoRotation;
@@ -28,12 +34,6 @@ class TGeoCombiTrans;
 class TObjArray;
 class TArrayI;
 
-class AliMUONGeometryEnvelope;
-class AliMUONGeometryEnvelopeStore;
-class AliMUONGeometryDetElement;
-class AliMUONGeometryStore;
-class AliMUONGeometrySVMap;
-
 class AliMUONGeometryModule : public TObject
 {
   public:
@@ -43,9 +43,9 @@ class AliMUONGeometryModule : public TObject
 
     // set methods
     //
-    void  SetMotherVolume(const TString& motherVolumeName);
-    void  SetVolume(const TString& volumeName);
     void  SetTransformation(const TGeoCombiTrans& transform);
+    void  SetVolumePath(const TString& volumePath);
+    void  SetIsVirtual(Bool_t isVirtual);
     
     void  SetSensitiveVolume(Int_t volId);
     void  SetSensitiveVolume(const TString& name);
@@ -55,8 +55,7 @@ class AliMUONGeometryModule : public TObject
     //
     Bool_t   IsVirtual() const;  
     Int_t    GetModuleId() const;
-    TString  GetMotherVolume() const;
-    TString  GetVolume() const;
+    TString  GetVolumePath() const;
     
     AliMUONGeometryDetElement* FindBySensitiveVolume(
                                          const TString& volumePath) const;
@@ -64,12 +63,12 @@ class AliMUONGeometryModule : public TObject
     Bool_t IsSensitiveVolume(const TString& volName) const; 
 
     AliMUONGeometryEnvelopeStore*     GetEnvelopeStore() const;
-    AliMUONGeometrySVMap*             GetSVMap() const;
+    AliMUONStringIntMap*              GetSVMap() const;
     AliMUONGeometryModuleTransformer* GetTransformer() const;
 
   protected:
     AliMUONGeometryModule(const AliMUONGeometryModule& rhs);
-     AliMUONGeometryModule& operator = (const AliMUONGeometryModule& rhs);
+    AliMUONGeometryModule& operator = (const AliMUONGeometryModule& rhs);
 
   private:
     // methods
@@ -78,23 +77,20 @@ class AliMUONGeometryModule : public TObject
     // data members
     Bool_t           fIsVirtual;     // true if module is not represented
                                      // by a real volume
-    TString          fMotherVolume;  // mother volume name
-    TString          fVolume;        // the volume name if not virtual
     Int_t            fNofSVs;        // number of sensitive volumes   
-    TArrayI*         fSVVolumeIds;   // densitive volumes IDs  
+    TArrayI*         fSVVolumeIds;   // sensitive volumes IDs  
 
     AliMUONGeometryEnvelopeStore*     fEnvelopes;  // envelopes                                 
-    AliMUONGeometrySVMap*             fSVMap;      // sensitive volumes map
+    AliMUONStringIntMap*              fSVMap;      // sensitive volumes map
     AliMUONGeometryModuleTransformer* fTransformer;// geometry transformations
  
-  ClassDef(AliMUONGeometryModule,3) // MUON geometry module class
+  ClassDef(AliMUONGeometryModule,4) // MUON geometry module class
 };
 
 // inline functions
 
-inline 
-void  AliMUONGeometryModule::SetMotherVolume(const TString& motherVolumeName)
-{ fMotherVolume = motherVolumeName; }
+inline void  AliMUONGeometryModule::SetIsVirtual(Bool_t isVirtual)
+{ fIsVirtual = isVirtual; }
 
 inline Bool_t AliMUONGeometryModule::IsVirtual() const
 { return fIsVirtual; }  
@@ -102,18 +98,15 @@ inline Bool_t AliMUONGeometryModule::IsVirtual() const
 inline Int_t  AliMUONGeometryModule::GetModuleId() const
 { return fTransformer->GetModuleId(); }
 
-inline TString  AliMUONGeometryModule::GetMotherVolume() const
-{ return fMotherVolume; }
-
-inline TString  AliMUONGeometryModule::GetVolume() const
-{ return fVolume; }
+inline TString AliMUONGeometryModule::GetVolumePath() const
+{ return fTransformer->GetVolumePath(); }
 
 inline  
 AliMUONGeometryEnvelopeStore* AliMUONGeometryModule::GetEnvelopeStore() const
 { return fEnvelopes; }
 
 inline 
-AliMUONGeometrySVMap* AliMUONGeometryModule::GetSVMap() const
+AliMUONStringIntMap* AliMUONGeometryModule::GetSVMap() const
 { return fSVMap; }
 
 inline