#include "AliMUONGeometrySegmentation.h"
#include "AliMUONSt12QuadrantSegmentation.h"
#include "AliMUONSt345SlatSegmentation.h"
-#include "AliMUONSt345SlatSegmentationV2.h"
#include "AliMUONTriggerSegmentation.h"
-#include "AliMUONTriggerSegmentationV2.h"
#include "AliMpDEManager.h"
#include "AliMpDEIterator.h"
+#include "AliMpSegmentation.h"
#include "AliLog.h"
//______________________________________________________________________________
AliMUONSegFactory::AliMUONSegFactory(const AliMUONGeometryTransformer* geometry)
: TObject(),
- fMpSegFactory(),
fDESegmentations(),
fSegmentation(0),
fkTransformer(geometry)
AliMUONSegFactory::AliMUONSegFactory(const TString& volPathsFileName,
const TString& transformsFileName)
: TObject(),
- fMpSegFactory(),
fDESegmentations(),
fSegmentation(0),
fkTransformer(0)
//______________________________________________________________________________
AliMUONSegFactory::AliMUONSegFactory()
: TObject(),
- fMpSegFactory(),
fDESegmentations(),
fSegmentation(0),
fkTransformer(0)
// public methods
//
-//______________________________________________________________________________
-AliMpVSegmentation*
-AliMUONSegFactory::CreateMpSegmentation(Int_t detElemId, Int_t cath)
-{
-/// Create mapping segmentation for given detElemId and cath
-/// using mapping manager
-
- AliMpVSegmentation* mpSegmentation
- = fMpSegFactory.CreateMpSegmentation(detElemId, cath);
-
- Segmentation()->AddMpSegmentation(mpSegmentation);
-
- return mpSegmentation;
-}
-
//______________________________________________________________________________
AliMUONVGeometryDESegmentation*
AliMUONSegFactory::CreateDESegmentation(Int_t detElemId, Int_t cath)
// Get DE segmentation for this DE type, create it if it does not exist
//
AliMUONVGeometryDESegmentation* deSegmentation = 0;
- TString deName = AliMpDEManager::GetDEName(detElemId, cath);
+ TString deName = AliMpDEManager::GetDESegName(detElemId, cath);
TObject* objSegmentation = fDESegmentations.Get(deName);
if ( objSegmentation )
deSegmentation = (AliMUONVGeometryDESegmentation*)objSegmentation;
if ( !deSegmentation ) {
+
+
// Get/Create mapping segmentation via mapping manager
+ const AliMpVSegmentation* kmpSegmentation
+ = AliMpSegmentation::Instance()->GetMpSegmentation(detElemId, cath);
AliMpVSegmentation* mpSegmentation
- = CreateMpSegmentation(detElemId, cath);
-
+ = const_cast<AliMpVSegmentation*>(kmpSegmentation);
+
AliMpStationType stationType = AliMpDEManager::GetStationType(detElemId);
AliMpPlaneType planeType = AliMpDEManager::GetPlaneType(detElemId, cath);
break;
case kStation345:
- deSegmentation = new AliMUONSt345SlatSegmentationV2(
+ deSegmentation = new AliMUONSt345SlatSegmentation(
mpSegmentation, detElemId, planeType);
//cout << " new AliMUONSt345SlatSegmentationV2 "
// << StationTypeName(stationType) << " "
break;
case kStationTrigger:
- deSegmentation = new AliMUONTriggerSegmentationV2(
+ deSegmentation = new AliMUONTriggerSegmentation(
mpSegmentation, detElemId, planeType);
- //cout << " new AliMUONTriggerSegmentationV2 "
+ //cout << " new AliMUONTriggerSegmentation "
// << StationTypeName(stationType) << " "
// << PlaneTypeName(planeType) << " "
// << deName << endl;
//______________________________________________________________________________
AliMUONSegmentation*
-AliMUONSegFactory::CreateSegmentation(const TString& option)
+AliMUONSegFactory::CreateSegmentation()
{
/// Create segmentations on all levels and return their container.
- // Check options
- if ( option != "default" &&
- option != "FactoryV2" &&
- option != "FactoryV3" &&
- option != "FactoryV4" &&
- option != "new") {
-
- AliErrorStream() << "Option " << option << " not defined." << endl;
- return 0;
- }
-
- if ( option == "FactoryV2" || option == "FactoryV3" ) {
-
- AliErrorStream()
- << "Option " << option << " not supported anymore." << endl;
- return 0;
- }
-
for (Int_t chamberId = 0; chamberId<AliMUONConstants::NCh(); chamberId++)
for (Int_t cath = 0; cath < 2; cath++) {
if ( IsGeometryDefined(chamberId) )