X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=MUON%2FAliMUONGeometryTransformer.h;h=9f49185b12087dfaeeb49e27c16f97ae29140cdc;hb=164d3d29c48a10906d3ea36ebfbafb0d873ae79e;hp=7274c2dab462d6eed6560259ae3cc8a90531347f;hpb=327d130227ab92bc5eb1661b2a84c548735c2086;p=u%2Fmrichter%2FAliRoot.git diff --git a/MUON/AliMUONGeometryTransformer.h b/MUON/AliMUONGeometryTransformer.h index 7274c2dab46..9f49185b120 100644 --- a/MUON/AliMUONGeometryTransformer.h +++ b/MUON/AliMUONGeometryTransformer.h @@ -30,6 +30,11 @@ class AliMUONGeometryDetElement; class TGeoManager; class TClonesArray; +class AliMpExMap; +class AliMpArea; + +using std::ifstream; +using std::ofstream; class AliMUONGeometryTransformer : public TObject { @@ -40,8 +45,8 @@ class AliMUONGeometryTransformer : public TObject // methods void AddModuleTransformer(AliMUONGeometryModuleTransformer* transformer); - void AddMisAlignModule(Int_t moduleId, const TGeoHMatrix& matrix); - void AddMisAlignDetElement(Int_t detElemId, const TGeoHMatrix& matrix); + void AddMisAlignModule(Int_t moduleId, const TGeoHMatrix& matrix, Bool_t bGlobal = kTRUE); + void AddMisAlignDetElement(Int_t detElemId, const TGeoHMatrix& matrix, Bool_t bGlobal = kTRUE); void CreateModules(); void AddAlignableVolumes() const; @@ -50,6 +55,7 @@ class AliMUONGeometryTransformer : public TObject // IO // + Bool_t LoadTransformations(); Bool_t LoadGeometryData(const TString& fileName); Bool_t LoadGeometryData(); @@ -92,6 +98,8 @@ class AliMUONGeometryTransformer : public TObject Bool_t HasDE(Int_t detElemId) const; + AliMpArea* GetDEArea(Int_t detElemId) const; + protected: /// Not implemented AliMUONGeometryTransformer(const AliMUONGeometryTransformer& right); @@ -99,7 +107,14 @@ class AliMUONGeometryTransformer : public TObject AliMUONGeometryTransformer& operator = (const AliMUONGeometryTransformer& right); private: + // static methods + static const TString& GetDefaultDetectorName(); + // methods + + void CreateDEAreas() const; + + Bool_t LoadMapping() const; AliMUONGeometryModuleTransformer* GetModuleTransformerNonConst( Int_t index, Bool_t warn = true) const; @@ -120,7 +135,6 @@ class AliMUONGeometryTransformer : public TObject TString ReadModuleTransforms(ifstream& in); TString ReadDetElemTransforms(ifstream& in); Bool_t ReadTransformations(const TString& fileName); - Bool_t LoadTransformations(); void WriteTransform(ofstream& out, const TGeoMatrix* transform) const; void WriteModuleTransforms(ofstream& out) const; @@ -128,17 +142,14 @@ class AliMUONGeometryTransformer : public TObject TString GetModuleSymName(Int_t moduleId) const; TString GetDESymName(Int_t detElemId) const; - - // static data members - static const TString fgkDefaultDetectorName; ///< Default detector name - // data members TString fDetectorName; ///< Detector name TObjArray* fModuleTransformers; ///< array of module transformers TClonesArray* fMisAlignArray; ///< array of misalignment data - - ClassDef(AliMUONGeometryTransformer,3) // Geometry parametrisation + mutable AliMpExMap* fDEAreas; ///< areas of detection elements in global coordinates + + ClassDef(AliMUONGeometryTransformer,4) // Geometry parametrisation }; // inline methods