]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONSegmentation.h
Typo corrected.
[u/mrichter/AliRoot.git] / MUON / AliMUONSegmentation.h
CommitLineData
fb921a27 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 geometry
7/// \class AliMUONSegmentation
8/// \brief Container class for modules segmentations
9///
81fa2fe3 10/// It provides access to DE segmentations based on the
11/// old AliSegmentation interface:
bd7d4869 12/// - DE segmentation (operating in local DE reference frame)
13/// - module segmentation (operating in global reference frame)
a9aad96e 14///
15/// As some detection elements are sharing the same objects
81fa2fe3 16/// (AliMUONVGeometryDESegmentation),
bd7d4869 17/// all segmentations objects have to be always deleted
18/// altogether via deleting this container object.
19///
a9aad96e 20/// \author Ivana Hrivnacova, IPN Orsay
fb921a27 21
22#ifndef ALI_MUON_SEGMENTATION_H
23#define ALI_MUON_SEGMENTATION_H
24
25#include <TObject.h>
26#include <TGeoMatrix.h>
27
28class TObjArray;
29
30class AliMpVSegmentation;
31
32class AliMUONGeometrySegmentation;
33class AliMUONVGeometryDESegmentation;
34
35class AliMUONSegmentation : public TObject
36{
37 public:
38 AliMUONSegmentation(Int_t nofModules);
39 AliMUONSegmentation();
40 virtual ~AliMUONSegmentation();
41
42 // methods
43 void AddDESegmentation(AliMUONVGeometryDESegmentation* segmentation);
44
45 void AddModuleSegmentation(Int_t moduleId, Int_t cathod,
46 AliMUONGeometrySegmentation* segmentation);
bd7d4869 47 void Init();
48 // This function should not be needed;
49 // the segmentations should be built in a valid state
50 // To be revised
fb921a27 51
52 //
53 // get methods
54 //
55
56 // Geometry segmentations
57 //
fb921a27 58
59 AliMUONGeometrySegmentation* GetModuleSegmentationByDEId(
60 Int_t detElemId, Int_t cathod, Bool_t warn = true) const;
61
62 // DE segmentations
63 //
64 const AliMUONVGeometryDESegmentation* GetDESegmentation(
65 Int_t detElemId, Int_t cathod, Bool_t warn = true) const;
66
a3b6c554 67
fb921a27 68 // DE properties
69 //
70 Bool_t HasDE(Int_t detElemId, Int_t cathod = 0) const;
71 TString GetDEName(Int_t detElemId, Int_t cathod = 0) const;
72
73 protected:
71a2d3aa 74 /// Not implemented
fb921a27 75 AliMUONSegmentation(const AliMUONSegmentation& right);
71a2d3aa 76 /// Not implemented
fb921a27 77 AliMUONSegmentation& operator = (const AliMUONSegmentation& right);
a3b6c554 78
fb921a27 79 private:
283cfce0 80 AliMUONGeometrySegmentation* GetModuleSegmentation(
81 Int_t moduleId, Int_t cathod, Bool_t warn = true) const;
82
fb921a27 83 // data members
829425a5 84 TObjArray* fDESegmentations; ///< array of DE segmentations
85 TObjArray* fModuleSegmentations[2]; ///< \brief array of module segmentations
86 /// for two cathods
48e3bf4c 87 ClassDef(AliMUONSegmentation,2) // Container class for module segmentations
fb921a27 88};
89
90#endif //ALI_MUON_SEGMENTATION_H
91
92
93
94
95
96
97