// $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>
-class TCanvas;
+class AliMUONGeometryTransformer;
+class AliMUONSegmentation;
class AliMUONGeometrySegmentation;
-enum AliMUONTests {
- kPrintPads,
- kDrawPads
-};
+class TCanvas;
+class TString;
class AliMUONTest : public TObject
{
public:
- AliMUONTest(const TString& configMacro);
+ AliMUONTest(const TString& option);
AliMUONTest();
virtual ~AliMUONTest();
- // create segmentation
- AliMUONGeometrySegmentation* CreateSegmentation(
- Int_t chamberId, Int_t cath);
-
- // other tests
- //
- void DetElemTransforms();
- void PrintPadPositionsOld();
-
- // selected tests
+ // methods for printing pads
//
- void ForWhole(AliMUONTests test);
- void ForSegmentation(
- AliMUONTests test,
- AliMUONGeometrySegmentation* segmentation);
- void ForDetElement(
- AliMUONTests test,
- Int_t detElemId,
- AliMUONGeometrySegmentation* segmentation);
- void Before(AliMUONTests test);
- void After(AliMUONTests test);
-
- // tests per pad
- //
+ 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);
+ 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);
-
+ Int_t detElemId, Int_t ix, Int_t iy,
+ AliMUONGeometrySegmentation* segmentation) const;
- void DrawSegmentation(AliMUONGeometrySegmentation *seg);
- // TBR
-
+ // 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);
- private:
- AliMUONGeometrySegmentation* CreateSt1Segmentation(
- Int_t chamberId, Int_t cathod);
- AliMUONGeometrySegmentation* CreateSt2Segmentation(
- Int_t chamberId, Int_t cathod);
- AliMUONGeometrySegmentation* CreateSlatSegmentation(
- Int_t chamberId, Int_t cathod);
- AliMUONGeometrySegmentation* CreateTriggerSegmentation(
- Int_t chamberId, Int_t cathod);
-
+ 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
- TCanvas* fCanvas; // The canvas for drawing
+ const AliMUONGeometryTransformer* fkTransformer; ///< Geometry parametrisation
+ AliMUONSegmentation* fSegmentation; ///< Segmentation
+ TCanvas* fCanvas; ///< The canvas for drawing
ClassDef(AliMUONTest,0) // MUON class for tests
};