- if ( stationTypeName == StationTypeName(kStation2) )
- return kStation2;
-
- if ( stationTypeName == StationTypeName(kStation345) )
- return kStation345;
-
- if ( stationTypeName == StationTypeName(kStationTrigger) )
- return kStationTrigger;
-
- // Should never reach this line
- AliFatalClass(Form("No station type defined for ", stationTypeName.Data()));
- return kStation1;
-}
-
-//______________________________________________________________________________
-Bool_t
-AliMpDEManager::ReadDENames(AliMpStationType station)
-{
-/// Read det element names for cath = 0 from the file specified by name
-/// and fill the map
-
- // Open file
- TString filePath = AliMpFiles::DENamesFilePath(station);
- std::ifstream in(filePath);
- if (!in.good()) {
- AliErrorClassStream() << "Cannot open file " << filePath << endl;;
- return false;
- }
-
- // Read plane types per cathods
- //
- char line[80];
- TString word;
- TString cathName1, cathName2;
- in >> word;
- while ( ! in.eof() && cathName1.Length() == 0 ) {
- if ( word[0] == '#' )
- in.getline(line, 80);
- else {
- cathName1 = word;
- in >> cathName2;
- }
- in >> word;
- }
-
- Bool_t isCathNameDefined = false;
- if ( IsPlaneType(cathName1) && IsPlaneType(cathName2) )
- isCathNameDefined = true;
-
- // Read DE names
- //
- Int_t detElemId;
- TString name1, name2;
- AliMpPlaneType planeForCathode[2];
-
- while ( ! in.eof() )
- {
- if ( word[0] == '#' )
- {
- in.getline(line, 80);
- }
- else
- {
- detElemId = word.Atoi();
- in >> name1;
- // warning : important to check non bending first (=nbp),
- // as bp is contained within nbp...
- if ( name1.Contains(PlaneTypeName(kNonBendingPlane)) )
- {
- planeForCathode[0] = kNonBendingPlane;
- }
- else
- {
- planeForCathode[0] = kBendingPlane;
- }
- if ( !isCathNameDefined )
- {
- in >> name2;
- // Other cathode is other plane...
- if ( planeForCathode[0] == kBendingPlane )
- {
- planeForCathode[1]=kNonBendingPlane;
- }
- else
- {
- planeForCathode[1]=kBendingPlane;
- }
- }
- else
- {
- name1 += fgkNameSeparator;
- name2 = name1;
- name1 += cathName1;
- name2 += cathName2;
- if ( name2.Contains(PlaneTypeName(kNonBendingPlane)) )
- {
- planeForCathode[1] = kNonBendingPlane;
- }
- else
- {
- planeForCathode[1] = kBendingPlane;
- }
- }
-
- if ( planeForCathode[0]==planeForCathode[1] )
- {
- AliFatalClass(Form("Got the same cathode type for both planes"
- " of DetElemId %d",detElemId));
- }
-
- if ( ! fgDENamesMap.GetValue(detElemId) )
- {
- AliDebugClassStream(1)
- << "Adding " << detElemId << " " << name1 << " " << name2 << endl;
- fgDENamesMap.Add(detElemId,
- new TPair(new TObjString(name1), new TObjString(name2)));
- fgDECathBNBMap.Add(detElemId,
- new AliMpIntPair(planeForCathode[0],planeForCathode[1]));
- }
- }
- in >> word;
- }
-
- // Close file
- in.close();
-
- return true;
-}