Allowing modularity of the MUON geometry during the generation (geant) phase with...
[u/mrichter/AliRoot.git] / MUON / AliMUONFactoryV2.h
1 #ifndef ALIMUONFACTORYV2_H
2 #define ALIMUONFACTORYV2_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7 // Revision of includes 07/05/2004
8
9 ////////////////////////////////////////////////////////////
10 //  Factory for muon chambers, segmentations and response 
11 //  The number 2 is refering to new segmentation
12 //  For the moment derive from AliMUONFactory
13 //  only for used of switching from standart to V2 version 
14 //  in AliMUONv1
15 ////////////////////////////////////////////////////////////
16
17 #include <TObject.h>
18 #include "AliMUONFactory.h"
19
20 class AliMUON;
21 class AliMUONResponseV0;
22
23 class AliMUONFactoryV2 : public  AliMUONFactory {
24
25   public:
26     AliMUONFactoryV2(const char* name);
27     AliMUONFactoryV2();
28     virtual ~AliMUONFactoryV2();
29     
30     void Build(AliMUON* where, const char* what);
31     void BuildStation(AliMUON* where, Int_t stationNumber);
32
33   protected:
34     AliMUONFactoryV2(const AliMUONFactoryV2& rhs);
35     AliMUONFactoryV2& operator=(const AliMUONFactoryV2& rhs);
36
37   private:
38     Bool_t IsGeometryDefined(Int_t ichamber);
39     void BuildCommon();
40     void BuildStation1();
41     void BuildStation2();
42     void BuildStation3();
43     void BuildStation4();
44     void BuildStation5();
45     void BuildStation6();
46
47     // data members     
48     AliMUON*           fMUON;           // MUON detector 
49     AliMUONResponseV0* fResponse0;      // default response 
50     TObjArray*         fDESegmentations;// DE segmentations
51
52   ClassDef(AliMUONFactoryV2,0)  // MUON Factory for Chambers and Segmentation
53 };
54 #endif
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69