/// \class AliMUONSegmentation
/// \brief Container class for modules segmentations
///
-/// Author: Ivana Hrivnacova, IPN Orsay
+/// It provides access to DE segmentations based on the
+/// old AliSegmentation interface:
+/// - DE segmentation (operating in local DE reference frame)
+/// - module segmentation (operating in global reference frame)
+///
+/// As some detection elements are sharing the same objects
+/// (AliMUONVGeometryDESegmentation),
+/// all segmentations objects have to be always deleted
+/// altogether via deleting this container object.
+///
+/// \author Ivana Hrivnacova, IPN Orsay
#ifndef ALI_MUON_SEGMENTATION_H
#define ALI_MUON_SEGMENTATION_H
void AddModuleSegmentation(Int_t moduleId, Int_t cathod,
AliMUONGeometrySegmentation* segmentation);
- void Init();
+ void Init();
+ // This function should not be needed;
+ // the segmentations should be built in a valid state
+ // To be revised
//
// get methods
// Geometry segmentations
//
- AliMUONGeometrySegmentation* GetModuleSegmentation(
- Int_t moduleId, Int_t cathod, Bool_t warn = true) const;
AliMUONGeometrySegmentation* GetModuleSegmentationByDEId(
Int_t detElemId, Int_t cathod, Bool_t warn = true) const;
const AliMUONVGeometryDESegmentation* GetDESegmentation(
Int_t detElemId, Int_t cathod, Bool_t warn = true) const;
- // Mapping segmentations
- //
- const AliMpVSegmentation* GetMpSegmentation(
- Int_t detElemId, Int_t cathod, Bool_t warn = true) const;
-
+
// DE properties
//
Bool_t HasDE(Int_t detElemId, Int_t cathod = 0) const;
protected:
AliMUONSegmentation(const AliMUONSegmentation& right);
AliMUONSegmentation& operator = (const AliMUONSegmentation& right);
-
+
private:
- // data members
- TObjArray* fDESegmentations; // array of DE segmentations
- TObjArray* fModuleSegmentations[2]; // array of module segmentations
- // for two cathods
+ AliMUONGeometrySegmentation* GetModuleSegmentation(
+ Int_t moduleId, Int_t cathod, Bool_t warn = true) const;
- ClassDef(AliMUONSegmentation,1) // Container class for module segmentations
+ // data members
+ TObjArray* fDESegmentations; ///< array of DE segmentations
+ TObjArray* fModuleSegmentations[2]; ///< \brief array of module segmentations
+ /// for two cathods
+ ClassDef(AliMUONSegmentation,2) // Container class for module segmentations
};
#endif //ALI_MUON_SEGMENTATION_H