class TGeoManager;
class TClonesArray;
+class AliMpExMap;
+class AliMpArea;
+
+using std::ifstream;
+using std::ofstream;
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;
// IO
//
+ Bool_t LoadTransformations();
Bool_t LoadGeometryData(const TString& fileName);
Bool_t LoadGeometryData();
Bool_t HasDE(Int_t detElemId) const;
+ AliMpArea* GetDEArea(Int_t detElemId) const;
+
protected:
/// Not implemented
AliMUONGeometryTransformer(const AliMUONGeometryTransformer& right);
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;
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;
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