]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONTest.h
Use macro-folder from gReve; instantiate macros from alice-macros/ as Reve::RMacro.
[u/mrichter/AliRoot.git] / MUON / AliMUONTest.h
index 4a6bf358cb5ee269b3b8f58fd8cd2ef8c526ba15..3e4d7726c6e419f231d65e21f2f8720f0c42ec74 100644 (file)
@@ -3,43 +3,73 @@
 
 // $Id$
 //
-// Class AliMUONTest
-// -----------------
-// Class with functions for testing
-//
-// Author: Ivana Hrivnacova, IPN Orsay
+/// \ingroup sim
+/// \class AliMUONTest
+/// \brief Class with functions for testing new segmentation
+///
+/// Author: Ivana Hrivnacova, IPN Orsay
 
 #ifndef ALI_MUON_TEST_H
 #define ALI_MUON_TEST_H
 
 #include <TObject.h>
 
-#include "AliDetector.h"
-#include "AliMUONData.h"
-#include "AliMUONChamber.h"
-
-class TVector;
-class TFile;
-class TTree;
+class AliMUONGeometryTransformer;
+class AliMUONSegmentation;
 class AliMUONGeometrySegmentation;
 
+class TCanvas;
+class TString;
 
 class AliMUONTest : public  TObject 
 {
   public:
-    AliMUONTest(const TString& configMacro);
+    AliMUONTest(const TString& option);
     AliMUONTest();
     virtual ~AliMUONTest();
    
-    // tests
-    void DetElemTransforms();
-    void PrintPadPositions1();
-    void PrintPadPositions2();
-    void St3SlatSegmentation();
-    void DrawSegmentation(Int_t chamber, AliMUONGeometrySegmentation *seg);
+
+    // methods for printing pads
+    //                                                   
+    void PrintPadsForAll() const;
+    void PrintPadsForSegmentation(Int_t moduleId, Int_t cath) const;
+    void PrintPadsForDetElement(Int_t detElemId, Int_t cath) const;
+    void PrintPad(Int_t& counter, 
+                  Int_t detElemId, Int_t ix, Int_t iy,
+                  AliMUONGeometrySegmentation* segmentation) const;
+
+    // methods for drawing pads
+    //                                                   
+    void DrawPadsForAll() const;
+    void DrawPadsForSegmentation(Int_t moduleId, Int_t cath) const;
+    void DrawPadsForDetElement(Int_t detElemId, Int_t cath) const;
+    void DrawPad(Int_t& counter, 
+                 Int_t detElemId, Int_t ix, Int_t iy,
+                 AliMUONGeometrySegmentation* segmentation) const;
+
+    // other tests
+    //
+    void DetElemTransforms() const;
+
   protected:
     AliMUONTest(const AliMUONTest& rhs);
     AliMUONTest& operator = (const AliMUONTest& rhs);
+    
+  private:  
+    // methods
+    void BuildWithMUON(const TString& configMacro);
+    void BuildWithoutMUON(const TString& option);
+
+    void PrintPad(Int_t& counter, 
+                  Int_t detElemId, Int_t ix, Int_t iy,
+                  AliMUONGeometrySegmentation* segmentation);
+    void DrawPad(Int_t& counter, 
+                  Int_t detElemId, Int_t ix, Int_t iy,
+                  AliMUONGeometrySegmentation* segmentation);
+    // data members
+    const AliMUONGeometryTransformer* fkTransformer; ///< Geometry parametrisation
+    AliMUONSegmentation*  fSegmentation;  ///< Segmentation
+    TCanvas*              fCanvas;        ///< The canvas for drawing                                 
 
     ClassDef(AliMUONTest,0)  // MUON class for tests
 };