4f2806abb3fdac09110aa7892c881fa73dbe8d0a
[u/mrichter/AliRoot.git] / MUON / AliMUONResponseFactory.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 AliMUONResponseFactory
8 /// \brief Factory for muon response
9 ///
10 /// Factory for building response, separated from AliMUONFactoryV4
11
12 #ifndef ALI_MUON_RESPONSE_FACTORY_H
13 #define ALI_MUON_RESPONSE_FACTORY_H
14
15 #include <TObject.h>
16 #include <TNamed.h>
17
18 class AliMUON;
19 class AliMUONSegmentation;
20 class AliMUONResponseV0;
21
22 class AliMUONResponseFactory : public  TNamed {
23
24   public:
25     AliMUONResponseFactory(const char* name);
26     AliMUONResponseFactory();
27     virtual ~AliMUONResponseFactory();
28     
29     void Build(AliMUON* where);
30     void BuildStation(AliMUON* where, Int_t stationNumber);
31
32   protected:
33     AliMUONResponseFactory(const AliMUONResponseFactory& rhs);
34     AliMUONResponseFactory& operator=(const AliMUONResponseFactory& rhs);
35
36   private:
37     void BuildCommon();
38     void BuildStation1();
39     void BuildStation2();
40     void BuildStation3();
41     void BuildStation4();
42     void BuildStation5();
43     void BuildStation6();
44     
45     // data members     
46     AliMUON*             fMUON;           // MUON detector 
47     AliMUONResponseV0*   fResponse0;      // default response 
48
49   ClassDef(AliMUONResponseFactory,0)  // MUON Factory for Chambers and Segmentation
50 };
51
52 #endif //ALI_MUON_RESPONSE_FACTORY_H
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67