#include "AliMUONVGeometryDESegmentation.h"
#include "AliMUONGeometryModuleTransformer.h"
#include "AliMUONGeometryDetElement.h"
-#include "AliMUONGeometryStore.h"
+
+#include "AliMpExMap.h"
#include "AliLog.h"
{
/// Standard constructor
- fDESegmentations = new AliMUONGeometryStore(false);
+ fDESegmentations = new AliMpExMap(true);
+ fDESegmentations->SetOwner(false);
- fDENames = new AliMUONGeometryStore(true);
+ fDENames = new AliMpExMap(true);
AliDebug(1, Form("ctor this = %p", this) );
}
}
AliMUONVGeometryDESegmentation* segmentation
- = (AliMUONVGeometryDESegmentation*) fDESegmentations->Get(detElemId, warn);
+ = (AliMUONVGeometryDESegmentation*) fDESegmentations->GetValue(detElemId);
if (!segmentation) {
if (warn)
AliError(Form("Segmentation for detection element %d not defined",
{
/// Return name of the given detection element
- TObjString* deName = (TObjString*)fDENames->Get(detElemId, false);
+ TObjString* deName = (TObjString*)fDENames->GetValue(detElemId);
if (deName)
return deName->GetString();
std::cout << "fDESegmentations (class "
<< fDESegmentations->Class()->GetName() << ") entries="
- << fDESegmentations->GetNofEntries()
+ << fDESegmentations->GetSize()
<< std::endl;
fDESegmentations->Print(opt);
}
{
/// Set pad size Dx*Dy to all detection element segmentations
- for (Int_t i=0; i<fDESegmentations->GetNofEntries(); i++) {
+ for (Int_t i=0; i<fDESegmentations->GetSize(); i++) {
AliMUONVGeometryDESegmentation* segmentation
- = (AliMUONVGeometryDESegmentation*)fDESegmentations->GetEntry(i);
+ = (AliMUONVGeometryDESegmentation*)fDESegmentations->GetObject(i);
segmentation->SetPadSize(p1, p2);
}
}
{
/// Set anod pitch to all detection element segmentations
- for (Int_t i=0; i<fDESegmentations->GetNofEntries(); i++) {
+ for (Int_t i=0; i<fDESegmentations->GetSize(); i++) {
AliMUONVGeometryDESegmentation* segmentation
- = (AliMUONVGeometryDESegmentation*)fDESegmentations->GetEntry(i);
+ = (AliMUONVGeometryDESegmentation*)fDESegmentations->GetObject(i);
segmentation->SetDAnod(d);
}
}
/// Check that all detection elements have segmanetation set
// Loop over detection elements
- AliMUONGeometryStore* detElements = fkModuleTransformer->GetDetElementStore();
+ AliMpExMap* detElements = fkModuleTransformer->GetDetElementStore();
+
+ for (Int_t i=0; i<detElements->GetSize(); i++) {
- for (Int_t i=0; i<detElements->GetNofEntries(); i++) {
+ // Skip not filled entries
+ if (!detElements->GetObject(i)) continue;
// Get detction element Id
- Int_t detElemId = detElements->GetEntry(i)->GetUniqueID();
+ Int_t detElemId = detElements->GetObject(i)->GetUniqueID();
// Check segmentation
- if (! fDESegmentations->Get(detElemId) ) {
- AliError(Form("Detection element %d has not a segmentation set.",
- detElements->GetEntry(i)->GetUniqueID()));
+ if (! fDESegmentations->GetValue(detElemId) ) {
+ AliErrorStream()
+ << "Detection element " << detElemId << " has not a segmentation set."
+ << endl;
}
else {
// Initialize DE Segmentation
- ((AliSegmentation*)fDESegmentations->Get(detElemId))->Init(chamber);
+ ((AliSegmentation*)fDESegmentations->GetValue(detElemId))->Init(chamber);
}
}
}
{
/// Draw the segmentation zones for all detElemId
- for (Int_t i=0; i<fDESegmentations->GetNofEntries(); i++) {
+ for (Int_t i=0; i<fDESegmentations->GetSize(); i++) {
AliMUONVGeometryDESegmentation* segmentation
- = (AliMUONVGeometryDESegmentation*)fDESegmentations->GetEntry(i);
+ = (AliMUONVGeometryDESegmentation*)fDESegmentations->GetObject(i);
segmentation->Draw(opt);
}
}
class TF1;
class AliMUONGeometryModuleTransformer;
-class AliMUONGeometryStore;
class AliMUONGeometryDetElement;
class AliMUONVGeometryDESegmentation;
class AliMUONSegmentManuIndex;
+class AliMpExMap;
+
class AliMUONGeometrySegmentation : public TObject
{
public:
mutable AliMUONVGeometryDESegmentation* fCurrentSegmentation;///< current DE segmentation
const AliMUONGeometryModuleTransformer* fkModuleTransformer; ///< associated geometry transformer
- AliMUONGeometryStore* fDESegmentations;///< DE segmentations
- AliMUONGeometryStore* fDENames; ///< DE names
+ AliMpExMap* fDESegmentations; ///< DE segmentations
+ AliMpExMap* fDENames; ///< DE names
ClassDef(AliMUONGeometrySegmentation,3) // Geometry segmentation