]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONPainterHelper.h
Fixing minor bug recognizing diffractive events in simulation
[u/mrichter/AliRoot.git] / MUON / AliMUONPainterHelper.h
index 728a6df51917f6a6551f830b3dd821938afa0cca..5a3ab948ba3064cf9ed3c2385d0b22bc47ddffe8 100644 (file)
 #endif
 
 class AliMUONAttPainter;
-class AliMUONPainterContour;
-class AliMUONPainterContourMaker;
+class AliMUONContour;
+class AliMUONContourHandler;
 class AliMUONPainterEnv;
-class AliMUONPainterPadStore;
 class AliMUONVCalibParam;
 class AliMUONVTrackerData;
 class AliMpExMap;
@@ -54,7 +53,6 @@ class AliMpSector;
 class AliMpSlat;
 class TArrayI;
 class TList;
-class TMap;
 class TObjArray;
 
 class AliMUONPainterHelper : public TObject
@@ -79,23 +77,12 @@ public:
   
   Int_t ColorFromValue(Double_t value, Double_t min, Double_t max) const;
   
-  Int_t FindPadID(const TArrayI& pads, Double_t x, Double_t y) const;
-    
   AliMp::CathodType GetCathodeType(Int_t detElemId, Int_t manuId) const;
 
-  AliMUONPainterContour* GenerateManuContour(Int_t detElemId, Int_t manuId,
-                                             AliMUONAttPainter viewType,
-                                             const char* contourName);
-
-  void GetBoundaries(const TArrayI& pads, Double_t& xmin, Double_t& ymin,
-                     Double_t& xmax, Double_t& ymax) const;
-
-  AliMUONPainterContour* GetContour(const char* contourName) const;
+  AliMUONContour* GetContour(const char* contourName, Bool_t explodedGeometry=kTRUE) const;
 
   /// Return a contour by name
-  AliMUONPainterContour* GetContour(const TString& contourName) const { return GetContour(contourName.Data()); }
-
-  AliMUONPainterContour* GetLocalManuContour(Int_t detElemId, Int_t manuId) const;
+  AliMUONContour* GetContour(const TString& contourName) const { return GetContour(contourName.Data()); }
 
   AliMpMotifPosition* GetMotifPosition(Int_t detElemId, Int_t manuId) const;
   
@@ -117,46 +104,25 @@ public:
 
   static AliMUONPainterHelper* Instance();
 
-  AliMpPad PadByExplodedPosition(Int_t detElemId, Int_t manuId, Double_t x, Double_t y) const;
-  
-  void Exploded2Real(Int_t detElemId, Double_t xe, Double_t ye, Double_t ze,
-                     Double_t& xr, Double_t& yr, Double_t& zr) const;
-  
   void Local2Global(Int_t detElemId, Double_t xl, Double_t yl, Double_t zl,
                     Double_t& xg, Double_t& yg, Double_t& zg) const;
 
-  void Local2GlobalReal(Int_t detElemId, Double_t xl, Double_t yl, Double_t zl,
-                        Double_t& xg, Double_t& yg, Double_t& zg) const;
-
   void Global2Local(Int_t detElemId, Double_t xg, Double_t yg, Double_t zg,
                      Double_t& xl, Double_t& yl, Double_t& zl) const;
 
-  void Global2LocalReal(Int_t detElemId, Double_t xg, Double_t yg, Double_t zg,
-                        Double_t& xl, Double_t& yl, Double_t& zl) const;
-
-  AliMUONPainterContour* MergeContours(const TObjArray& contours, 
-                                       const char* contourName);
+  AliMUONContour* MergeContours(const TObjArray& contours, const char* contourName, Bool_t explodedGeometry=kTRUE);
   
   virtual void Print(Option_t* opt="") const;
   
-  void RegisterContour(AliMUONPainterContour* contour);
-  
-  /// Whether we were modified since our creation
-  Bool_t IsModified() const { return fIsModified; }
-  
-  /// Set the modified flag
-  void Modified(Bool_t value=kTRUE) { fIsModified = value; }
-
-  void Save();
-  
-  /// Return the pad store
-  const AliMUONPainterPadStore& PadStore() const { return *fPadStore; }
+  void RegisterContour(AliMUONContour* contour, Bool_t explodedView=kTRUE);
   
   TString FormatValue(const char* name, Double_t value) const;
   
   /// Return the environment
   AliMUONPainterEnv* Env() { return fEnv; }
   
+  TObjArray* GetAllContoursAsArray(Bool_t explodedView=kTRUE) const;
+
 private:
     
   /// Not implemented
@@ -164,24 +130,17 @@ private:
   /// Not implemented
   AliMUONPainterHelper& operator=(const AliMUONPainterHelper&);
   
-  void GenerateDefaultMatrices();
-  void GenerateGeometry();
-  void GeneratePadStore();
-  void GeneratePadStore(Int_t detElemId);  
-
+  AliMUONContourHandler* Exploded() const;
+  AliMUONContourHandler* Real() const;
+  
 private:
   static AliMUONPainterHelper* fgInstance; ///< global instance
   
-  AliMUONPainterPadStore* fPadStore; ///< the pad store
-  Double_t fExplodeFactor[2]; ///< explosing factors for representation
-  AliMpExMap* fExplodedGlobalTransformations; ///< global geometric transformations (exploded)
-  AliMpExMap* fRealGlobalTransformations; ///< global geometric transformations (real)
-  Bool_t fIsModified; ///< whether we've been modified since creation
-  mutable AliMUONPainterContourMaker* fContourMaker; ///< the contour builder
-  TObjArray* fPainterMatrices; ///< default matrices
   AliMUONPainterEnv* fEnv; ///< resources
+  mutable AliMUONContourHandler* fReal; ///< contours in real coordinates
+  mutable AliMUONContourHandler* fExploded; ///< contours in exploded coordinates
   
-  ClassDef(AliMUONPainterHelper,1) // Helper class for painters
+  ClassDef(AliMUONPainterHelper,4) // Helper class for painters
 };
 
 #endif