/// \class AliMUONSegmentation
/// \brief Container class for modules segmentations
///
-/// It provides access to segmentations on all levels:
-/// - mapping segmentation
+/// 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 element are sharing the same objects
-/// (AliMpVSegmentation, AliMUONVGeometryDESegmentation),
+///
+/// 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
+/// \author Ivana Hrivnacova, IPN Orsay
#ifndef ALI_MUON_SEGMENTATION_H
#define ALI_MUON_SEGMENTATION_H
virtual ~AliMUONSegmentation();
// methods
- void AddMpSegmentation(AliMpVSegmentation* segmentation);
void AddDESegmentation(AliMUONVGeometryDESegmentation* segmentation);
void AddModuleSegmentation(Int_t moduleId, Int_t cathod,
// 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 access by cathode number.
- cathod can be 0 or 1. Note that there's no trivial relationship
- between the cathode number and whether the corresponding plane
- is a Bending or NonBending one.
- **/
- const AliMpVSegmentation* GetMpSegmentation(
- Int_t detElemId, Int_t cathod, Bool_t warn = true) const;
// DE properties
//
AliMUONSegmentation& operator = (const AliMUONSegmentation& right);
private:
+ AliMUONGeometrySegmentation* GetModuleSegmentation(
+ Int_t moduleId, Int_t cathod, Bool_t warn = true) const;
+
// data members
- TObjArray* fMpSegmentations; // array of mapping segmentations
- TObjArray* fDESegmentations; // array of DE segmentations
- TObjArray* fModuleSegmentations[2]; // array of module segmentations
- // for two cathods
+ 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
};