1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
7 /// \class AliMUONSegmentation
8 /// \brief Container class for modules segmentations
10 /// Author: Ivana Hrivnacova, IPN Orsay
12 #ifndef ALI_MUON_SEGMENTATION_H
13 #define ALI_MUON_SEGMENTATION_H
16 #include <TGeoMatrix.h>
20 class AliMpVSegmentation;
22 class AliMUONGeometrySegmentation;
23 class AliMUONVGeometryDESegmentation;
25 class AliMUONSegmentation : public TObject
28 AliMUONSegmentation(Int_t nofModules);
29 AliMUONSegmentation();
30 virtual ~AliMUONSegmentation();
33 void AddDESegmentation(AliMUONVGeometryDESegmentation* segmentation);
35 void AddModuleSegmentation(Int_t moduleId, Int_t cathod,
36 AliMUONGeometrySegmentation* segmentation);
43 // Geometry segmentations
45 AliMUONGeometrySegmentation* GetModuleSegmentation(
46 Int_t moduleId, Int_t cathod, Bool_t warn = true) const;
48 AliMUONGeometrySegmentation* GetModuleSegmentationByDEId(
49 Int_t detElemId, Int_t cathod, Bool_t warn = true) const;
53 const AliMUONVGeometryDESegmentation* GetDESegmentation(
54 Int_t detElemId, Int_t cathod, Bool_t warn = true) const;
56 // Mapping segmentations
58 const AliMpVSegmentation* GetMpSegmentation(
59 Int_t detElemId, Int_t cathod, Bool_t warn = true) const;
63 Bool_t HasDE(Int_t detElemId, Int_t cathod = 0) const;
64 TString GetDEName(Int_t detElemId, Int_t cathod = 0) const;
67 AliMUONSegmentation(const AliMUONSegmentation& right);
68 AliMUONSegmentation& operator = (const AliMUONSegmentation& right);
72 TObjArray* fDESegmentations; // array of DE segmentations
73 TObjArray* fModuleSegmentations[2]; // array of module segmentations
76 ClassDef(AliMUONSegmentation,1) // Container class for module segmentations
79 #endif //ALI_MUON_SEGMENTATION_H