/// composed of the segmentations of detection elements.
/// Applies transformations defined in geometry.
///
-/// Author:Ivana Hrivnacova, IPN Orsay
+/// \author Ivana Hrivnacova, IPN Orsay
#ifndef ALI_MUON_GEOMETRY_SEGMENTATION_H
#define ALI_MUON_GEOMETRY_SEGMENTATION_H
-#include <TObject.h>
-
#include "AliMUONGeometryDirection.h"
+#include <TObject.h>
+#include <TString.h>
+
class TObjArray;
class TF1;
class AliMUONGeometryModuleTransformer;
-class AliMUONGeometryStore;
class AliMUONGeometryDetElement;
class AliMUONVGeometryDESegmentation;
class AliMUONSegmentManuIndex;
+class AliMpExMap;
+
class AliMUONGeometrySegmentation : public TObject
{
public:
// Geometry transformer
const AliMUONVGeometryDESegmentation* GetDESegmentation(
- Int_t detElemId) const;
+ Int_t detElemId, Bool_t warn = true) const;
// DE segmentation
AliMUONGeometryDirection GetDirection(Int_t detElemId) const;
// Direction with a constant pad size
- // (Direction or coordinate where the resolution is the best)
+ // (Direction or coordinate where the resolution
+ // is the best)
TString GetDEName(Int_t detElemId) const;
// DE name
Float_t& x, Float_t& y, Float_t& z);
// Transform from real to pad coordinates
- virtual Bool_t HasPad(Int_t detElemId, Int_t ix, Int_t iy);
+ virtual Bool_t HasPad(Int_t detElemId,
+ Int_t ix, Int_t iy);
+ virtual Bool_t HasPad(Int_t detElemId,
+ Float_t x, Float_t y, Float_t z);
// Initialisation
//
protected:
AliMUONGeometrySegmentation(const AliMUONGeometrySegmentation& rhs);
-
- // operators
AliMUONGeometrySegmentation& operator=(const AliMUONGeometrySegmentation & rhs);
private:
// methods
- Bool_t OwnNotify(Int_t detElemId) const;
+ Bool_t OwnNotify(Int_t detElemId, Bool_t warn = true) const;
// static data members
- static const Float_t fgkMaxDistance; // the big value passed to pad coordinates
- // if pad does not exist
+ static const Float_t fgkMaxDistance; ///< \brief the big value passed to pad coordinates
+ /// if pad does not exist
// data members
- mutable Int_t fCurrentDetElemId; // current DE ID
- mutable AliMUONGeometryDetElement* fCurrentDetElement; // current detection element
- mutable AliMUONVGeometryDESegmentation* fCurrentSegmentation;// current DE segmentation
+ mutable Int_t fCurrentDetElemId; ///< current DE ID
+ mutable AliMUONGeometryDetElement* fCurrentDetElement; ///< current detection element
+ mutable AliMUONVGeometryDESegmentation* fCurrentSegmentation;///< current DE segmentation
- const AliMUONGeometryModuleTransformer* fkModuleTransformer; // associated geometry transformer
- AliMUONGeometryStore* fDESegmentations;// DE segmentations
- AliMUONGeometryStore* fDENames; // DE names
+ const AliMUONGeometryModuleTransformer* fkModuleTransformer; ///< associated geometry transformer
+ AliMpExMap* fDESegmentations; ///< DE segmentations
+ AliMpExMap* fDENames; ///< DE names
- ClassDef(AliMUONGeometrySegmentation,2) // Geometry segmentation
+ ClassDef(AliMUONGeometrySegmentation,3) // Geometry segmentation
};
// inline functions
+/// Return associated geometry transformer
inline
const AliMUONGeometryModuleTransformer*
AliMUONGeometrySegmentation::GetTransformer() const