]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONVPainter.h
Coverity fixes (Ivana)
[u/mrichter/AliRoot.git] / MUON / AliMUONVPainter.h
index f0804a390329f432a35dacc86436ee30b33efe03..fe16b5feabbadfcc9830c29c347cb1970e1d4bfe 100644 (file)
@@ -30,7 +30,7 @@
 #endif
 #include <float.h>
 
-class AliMUONPainterContour;
+class AliMUONContour;
 class AliMUONPainterGroup;
 class AliMUONVTrackerData;
 class AliMpArea;
@@ -45,6 +45,7 @@ class AliMUONVPainter : public TObject, public TQObject
 {
 public:  
 
+  AliMUONVPainter(TRootIOCtor*);
   AliMUONVPainter(const char* type="");
   AliMUONVPainter(const AliMUONVPainter& rhs);
   AliMUONVPainter& operator=(const AliMUONVPainter& rhs);
@@ -71,6 +72,7 @@ public:
   
   AliMUONVPainter* Detach() const;
   
+  /// Whether this painter can be detached from the current view.
   virtual Bool_t CanBeDetached() const { return kTRUE; }
   
   /// Whether we are valid or not
@@ -88,7 +90,7 @@ public:
   virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py);
   
   /// Return the contour representing the outline of this object
-  AliMUONPainterContour* Contour() const { return fContour; }
+  AliMUONContour* Contour() const { return fContour; }
 
   /// Get our name
   virtual const char* GetName() const { return Name().Data(); }
@@ -136,7 +138,7 @@ public:
   AliMUONPainterGroup* ResponderGroup() const { return fResponderGroup; }
 
   /// Set out contour
-  void SetContour(AliMUONPainterContour* contour);
+  void SetContour(AliMUONContour* contour);
   
   void SetData(const char* pattern, AliMUONVTrackerData* data, Int_t dataIndex);
 
@@ -149,9 +151,9 @@ public:
   
   void SetOutlined(const char* pattern, Bool_t flag);
   
-  void SetResponder(const char* pattern);
+  virtual void SetResponder(const char* pattern);
   
-  void SetResponder(Int_t depth);
+  virtual void SetResponder(Int_t depth);
   
   void SetVisible(const char* pattern, Bool_t flag);
   
@@ -170,6 +172,8 @@ public:
 
   virtual void PaintOutline(Int_t color=-1, Int_t width=-1, Double_t x=FLT_MAX, Double_t y=FLT_MAX);
 
+  virtual void PaintArea(Int_t fillColor);
+  
   virtual void PaintArea(const AliMUONVTrackerData& data, Int_t dataIndex,
                          Double_t min, Double_t max);
     
@@ -217,6 +221,7 @@ public:
 
   /// To avoid getting a popup asking for the parameter in the GUI...
   void DrawHistogram0() const { DrawHistogram(0x0); }
+  /// To avoid getting a popup asking for the parameter in the GUI...
   void DrawHistogramClone0() const { DrawHistogramClone(0x0); }
 
   virtual void DrawHistogramClone(Double_t* values=0x0) const;
@@ -228,49 +233,75 @@ public:
   /// Append (i.e. don't have the right to clear the array !) our list of manus to manuList
   virtual void FillManuList(TObjArray& manuList) const;
   
-  /// following kind of stupid lines, because I don't know how to
+  /// following kind of stupid lines (SL), because I don't know how to
   /// pass parameters to TClassMenuItem for context menu (don't even
   /// know if that's possible at all)
-  
+  /// SL
   void DrawInternalHistogramClone0() { DrawInternalHistogramClone(0); }
+  /// SL
   void DrawInternalHistogramClone1() { DrawInternalHistogramClone(1); }
+  /// SL
   void DrawInternalHistogramClone2() { DrawInternalHistogramClone(2); }
+  /// SL
   void DrawInternalHistogramClone3() { DrawInternalHistogramClone(3); }
+  /// SL
   void DrawInternalHistogramClone4() { DrawInternalHistogramClone(4); }
+  /// SL
   void DrawInternalHistogramClone5() { DrawInternalHistogramClone(5); }
+  /// SL
   void DrawInternalHistogramClone6() { DrawInternalHistogramClone(6); }
+  /// SL
   void DrawInternalHistogramClone7() { DrawInternalHistogramClone(7); }
+  /// SL
   void DrawInternalHistogramClone8() { DrawInternalHistogramClone(8); }
+  /// SL
   void DrawInternalHistogramClone9() { DrawInternalHistogramClone(9); }
   
+  /// Whether or not the part of the detector represented by this painter should be included in readout.
+  virtual Bool_t IsIncluded() const = 0;
+  
+  /// Whether or not the part of the detector represented by this painter should be excluded from readout.
+  Bool_t IsExcluded() const { return ! IsIncluded(); }
+
+  virtual void Include();
+  
+  virtual void Exclude();
+
 protected:
     
   virtual TCollection* Children() const;
 
+  void CreateGroups();
+
+  AliMUONVTrackerData* InteractiveReadOutConfig() const;
+  
+  mutable TH1* fHistogram; //!< histogram
+  
+  TMap* fPainterGroups; ///< map of groups
+  AliMUONPainterGroup* fResponderGroup; ///< the responder group
+
 private:
   
-    void FlatList(TList& list);
+  void FlatList(TList& list);
 
   AliMUONPainterGroup* CreateGroup(const char* type, Int_t depth);
   
-  void CreateGroups();
-  
   void GetBoundingBox(Double_t& x1, Double_t& y1, 
                       Double_t& x2, Double_t& y2) const;
   
   AliMUONVPainter* GetPainter(Int_t px, Int_t py, Double_t& x, Double_t& y) const;
   
-private:
+  void WriteIROC(Double_t value);
   
+  void GetIROCManuList(TObjArray& manuList);
+
   TString fName; ///< our (short) name
   TString fPathName; ///< our long name
   TString fType; ///< our type (DE, Chamber, MANU, etc...)
   AliMUONVPainter* fMother;  ///< our mother
   AliMUONPainterGroup* fGroup; ///< our group
-  AliMUONPainterContour* fContour;  ///< our contour
-  TMap* fPainterGroups; ///< map of groups
+  AliMUONContour* fContour;  ///< our contour
   TObjArray* fChildren; ///< our children
-  AliMUONPainterGroup* fResponderGroup; ///< the responder group
   AliMUONPainterGroup* fPlotterGroup; ///< the plotter group
   Double_t fBorderFactor; ///< border factor for visu 
   TVirtualPad* fPad; ///< the pad we're drawn in
@@ -280,9 +311,6 @@ private:
   Int_t fID[2]; ///< our ids
   Bool_t fIsValid; ///< whether we were properly initialized
   
-protected:
-  mutable TH1* fHistogram; //!< histogram
-  
   ClassDef(AliMUONVPainter,3) // Base class of a graphical object for MUON spectrometer
 };