]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONTest.h
Corrected mapping management group definition
[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 /// \ingroup sim
7 /// \class AliMUONTest
8 /// \brief Class with functions for testing new segmentation
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 AliMUONGeometryTransformer;
18 class AliMUONSegmentation;
19 class AliMUONGeometrySegmentation;
20
21 class TCanvas;
22 class TString;
23
24 enum AliMUONTests {
25   kPrintPads,
26   kDrawPads
27 };  
28
29 class AliMUONTest : public  TObject 
30 {
31   public:
32     AliMUONTest(const TString& option);
33     AliMUONTest();
34     virtual ~AliMUONTest();
35    
36     // Get segmentation
37     AliMUONGeometrySegmentation* GetSegmentation(
38                                        Int_t chamberId, Int_t cath);
39                                                           
40     // other tests
41     //
42     void DetElemTransforms();
43
44     // selected tests
45     //                                                    
46     void ForWhole(AliMUONTests test);
47     void ForSegmentation(
48                   AliMUONTests test,
49                   AliMUONGeometrySegmentation* segmentation);
50     void ForDetElement(
51                   AliMUONTests test,
52                   Int_t detElemId,
53                   AliMUONGeometrySegmentation* segmentation);
54     void Before(AliMUONTests test);
55     void After(AliMUONTests test);
56  
57     // tests per pad
58     //
59     void PrintPad(Int_t& counter, 
60                   Int_t detElemId, Int_t ix, Int_t iy,
61                   AliMUONGeometrySegmentation* segmentation);
62     void DrawPad(Int_t& counter, 
63                   Int_t detElemId, Int_t ix, Int_t iy,
64                   AliMUONGeometrySegmentation* segmentation);
65  
66
67     void DrawSegmentation(AliMUONGeometrySegmentation *seg);
68              // TBR                       
69                           
70
71   protected:
72     AliMUONTest(const AliMUONTest& rhs);
73     AliMUONTest& operator = (const AliMUONTest& rhs);
74     
75   private:  
76     // methods
77     void BuildWithMUON(const TString& configMacro);
78     void BuildWithoutMUON(const TString& option);
79
80     // data members
81     const AliMUONGeometryTransformer* fkTransformer; // Geometry parametrisation
82     AliMUONSegmentation*  fSegmentation;  // Segmentation
83     TCanvas*              fCanvas;        // The canvas for drawing                                    
84
85     ClassDef(AliMUONTest,0)  // MUON class for tests
86 };
87
88 #endif //ALI_MUON_TEST_H
89