]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONTest.h
add AliMUONTriggerSegmentation
[u/mrichter/AliRoot.git] / MUON / AliMUONTest.h
1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2  * See cxx source for full Copyright notice                               */
3
4 // $Id$
5 //
6 // Class AliMUONTest
7 // -----------------
8 // Class with functions for testing
9 //
10 // Author: Ivana Hrivnacova, IPN Orsay
11
12 #ifndef ALI_MUON_TEST_H
13 #define ALI_MUON_TEST_H
14
15 #include <TObject.h>
16
17 class TCanvas;
18 class AliMUONGeometrySegmentation;
19
20 enum AliMUONTests {
21   kPrintPads,
22   kDrawPads
23 };  
24
25 class AliMUONTest : public  TObject 
26 {
27   public:
28     AliMUONTest(const TString& configMacro);
29     AliMUONTest();
30     virtual ~AliMUONTest();
31    
32     // create segmentation
33     AliMUONGeometrySegmentation* CreateSegmentation(
34                                        Int_t chamberId, Int_t cath);
35                                                           
36     // other tests
37     //
38     void DetElemTransforms();
39     void PrintPadPositionsOld();
40
41
42     // selected tests
43     //                                                    
44     void ForWhole(AliMUONTests test);
45     void ForSegmentation(
46                   AliMUONTests test,
47                   AliMUONGeometrySegmentation* segmentation);
48     void ForDetElement(
49                   AliMUONTests test,
50                   Int_t detElemId,
51                   AliMUONGeometrySegmentation* segmentation);
52     void Before(AliMUONTests test);
53     void After(AliMUONTests test);
54  
55     // tests per pad
56     //
57     void PrintPad(Int_t& counter, 
58                   Int_t detElemId, Int_t ix, Int_t iy,
59                   AliMUONGeometrySegmentation* segmentation);
60     void DrawPad(Int_t& counter, 
61                   Int_t detElemId, Int_t ix, Int_t iy,
62                   AliMUONGeometrySegmentation* segmentation);
63  
64
65     void DrawSegmentation(AliMUONGeometrySegmentation *seg);
66              // TBR                       
67                           
68
69   protected:
70     AliMUONTest(const AliMUONTest& rhs);
71     AliMUONTest& operator = (const AliMUONTest& rhs);
72
73   private:
74     AliMUONGeometrySegmentation* CreateSt1Segmentation(
75                                        Int_t chamberId, Int_t cathod);
76     AliMUONGeometrySegmentation* CreateSlatSegmentation(
77                                        Int_t chamberId, Int_t cathod);
78         AliMUONGeometrySegmentation* CreateTriggerSegmentation(
79                                        Int_t chamberId, Int_t cathod);
80                                        
81     // data members
82     TCanvas* fCanvas; // The canvas for drawing                                
83
84     ClassDef(AliMUONTest,0)  // MUON class for tests
85 };
86
87 #endif //ALI_MUON_TEST_H
88