**************************************************************************/
// $Id$
-// $MpId: AliMpFiles.cxx,v 1.10 2006/03/17 11:34:46 ivana Exp $
+// $MpId: AliMpFiles.cxx,v 1.12 2006/05/23 13:09:54 ivana Exp $
// Category: basic
// ----------------
// Class AliMpFiles
#include <stdlib.h>
+/// \cond CLASSIMP
+ClassImp(AliMpFiles)
+/// \endcond
+
//
// static
const TString AliMpFiles::fgkSectorSpecial2 = "zones_special_outer";
const TString AliMpFiles::fgkMotifPrefix = "motif";
const TString AliMpFiles::fgkMotifSpecialPrefix ="motifSpecial";
+const TString AliMpFiles::fgkManuToSerialDir ="manu_serial/";
+const TString AliMpFiles::fgkManuToSerial ="_manu";
const TString AliMpFiles::fgkPadPosPrefix = "padPos";
const TString AliMpFiles::fgkDataExt = ".dat";
const TString AliMpFiles::fgkBergToGCFileName = "/bergToGC";
-const TString AliMpFiles::fgkTriggerLocalBoards = "CRATE.TXT";
+const TString AliMpFiles::fgkTriggerLocalBoards = "crate";
const TString AliMpFiles::fgkBusPatchFileName = "DetElemIdToBusPatch";
-ClassImp(AliMpFiles)
-
-//______________________________________________________________________________
-AliMpFiles::AliMpFiles()
- : TObject()
-{
-/// Default constructor
-}
-
-//______________________________________________________________________________
-AliMpFiles::AliMpFiles(const AliMpFiles& right)
- : TObject(right)
-{
-/// Protected copy constructor
-
- AliFatalClass("Attempt to copy AliMpFiles singleton.");
-}
-
-
//______________________________________________________________________________
AliMpFiles::~AliMpFiles()
{
/// Destructor
}
-// operators
-
-//______________________________________________________________________________
-AliMpFiles& AliMpFiles::operator=(const AliMpFiles& right)
-{
-/// Assignment operator
-
- // check assignment to self
- if (this == &right) return *this;
-
- AliFatalClass("Attempt to assign AliMpFiles singleton.");
-
- return *this;
-}
-
//
// private methods
//
}
//______________________________________________________________________________
-TString AliMpFiles::PlaneDataDir(AliMpStationType station,
- AliMpPlaneType plane)
+TString AliMpFiles::PlaneDataDir(AliMp::StationType station,
+ AliMp::PlaneType plane)
{
/// Returns path to data files with sector description
/// for a specified plane.
switch (station) {
- case kStation1:
- case kStation2:
+ case AliMp::kStation1:
+ case AliMp::kStation2:
switch (plane) {
- case kBendingPlane:
+ case AliMp::kBendingPlane:
return GetTop() + fgkDataDir + StationDataDir(station) + fgkBendingDir;
;;
- case kNonBendingPlane:
+ case AliMp::kNonBendingPlane:
return GetTop() + fgkDataDir + StationDataDir(station) + fgkNonBendingDir;
;;
}
break;
- case kStation345:
- case kStationTrigger:
+ case AliMp::kStation345:
+ case AliMp::kStationTrigger:
return GetTop() + fgkDataDir + StationDataDir(station) + "/";
break;
default:
- AliFatalClass("Incomplete switch on AliMpPlaneType");
+ AliFatalClass("Incomplete switch on AliMp::PlaneType");
break;
}
return TString();
}
//______________________________________________________________________________
-TString AliMpFiles::StationDataDir(AliMpStationType station)
+TString AliMpFiles::StationDataDir(AliMp::StationType station)
{
/// Returns the station directory name for the specified station number.
TString stationDataDir(fgkStationDir);
switch (station) {
- case kStation1:
+ case AliMp::kStation1:
stationDataDir += "1/";
break;
;;
- case kStation2:
+ case AliMp::kStation2:
stationDataDir += "2/";
break;
;;
- case kStation345:
+ case AliMp::kStation345:
stationDataDir += "345/";
break;
;;
- case kStationTrigger:
+ case AliMp::kStationTrigger:
stationDataDir += "Trigger/";
break;
;;
}
//______________________________________________________________________________
-TString AliMpFiles::DENamesFilePath(AliMpStationType station)
+TString AliMpFiles::DENamesFilePath(AliMp::StationType station)
{
/// Return path to data file with DE names for given station.
//______________________________________________________________________________
TString AliMpFiles::LocalTriggerBoardMapping()
{
-/// Return path to data file with DE names for given station.
+/// Return path to data file with local trigger board mapping.
- return GetTop() + "/.." + fgkDataDir + "/" + fgkTriggerLocalBoards;
+ return GetTop() + fgkDataDir + StationDataDir(AliMp::kStationTrigger)
+ + fgkTriggerLocalBoards + fgkDataExt;;
}
//_____________________________________________________________________________
-TString AliMpFiles::SlatFilePath(AliMpStationType stationType,
+TString AliMpFiles::SlatFilePath(AliMp::StationType stationType,
const char* slatType,
- AliMpPlaneType plane)
+ AliMp::PlaneType plane)
{
/// \todo add ..
return TString(PlaneDataDir(stationType,plane) + slatType + "." +
- ( plane == kNonBendingPlane ? "NonBending":"Bending" ) + ".slat");
+ ( plane == AliMp::kNonBendingPlane ? "NonBending":"Bending" ) + ".slat");
}
//_____________________________________________________________________________
-TString AliMpFiles::SlatPCBFilePath(AliMpStationType stationType,
+TString AliMpFiles::SlatPCBFilePath(AliMp::StationType stationType,
const char* pcbType)
{
/// Get the full path for a given PCB (only relevant to stations 3,
/// 4, 5 and trigger). The bending parameter below is of no use in this case, but
/// we use it to re-use the PlaneDataDir() method untouched.
- return TString(PlaneDataDir(stationType,kNonBendingPlane) + pcbType +
+ return TString(PlaneDataDir(stationType,AliMp::kNonBendingPlane) + pcbType +
".pcb");
}
//______________________________________________________________________________
-TString AliMpFiles::SectorFilePath(AliMpStationType station,
- AliMpPlaneType plane)
+TString AliMpFiles::SectorFilePath(AliMp::StationType station,
+ AliMp::PlaneType plane)
{
/// Return path to data file with sector description.
}
//______________________________________________________________________________
-TString AliMpFiles::SectorSpecialFilePath(AliMpStationType station,
- AliMpPlaneType plane)
+TString AliMpFiles::SectorSpecialFilePath(AliMp::StationType station,
+ AliMp::PlaneType plane)
{
/// Return path to data file with sector special description (irregular motifs).
}
//______________________________________________________________________________
-TString AliMpFiles::SectorSpecialFilePath2(AliMpStationType station,
- AliMpPlaneType plane)
+TString AliMpFiles::SectorSpecialFilePath2(AliMp::StationType station,
+ AliMp::PlaneType plane)
{
/// Returns path to data file with sector special description (irregular motifs).
return TString(PlaneDataDir(station, plane) + fgkSectorSpecial2 + fgkDataExt);
}
-
+
+//______________________________________________________________________________
+TString AliMpFiles::MotifFileName(const TString& motifTypeID)
+{
+ /// Returns name of data file for a given motif type.
+
+ return TString(fgkMotifPrefix + motifTypeID + fgkDataExt);
+}
+
//______________________________________________________________________________
-TString AliMpFiles::MotifFilePath(AliMpStationType station,
- AliMpPlaneType plane,
+TString AliMpFiles::MotifFilePath(AliMp::StationType station,
+ AliMp::PlaneType plane,
const TString& motifTypeID)
{
/// Returns path to data file for a given motif type.
- return TString(PlaneDataDir(station, plane)
- + fgkMotifPrefix + motifTypeID + fgkDataExt);
+ return TString(PlaneDataDir(station, plane) + MotifFileName(motifTypeID));
}
-
+
//______________________________________________________________________________
-TString AliMpFiles::PadPosFilePath(AliMpStationType station,
- AliMpPlaneType plane,
+TString AliMpFiles::PadPosFileName(const TString& motifTypeID)
+{
+ /// Returns name of data file with pad positions for a given motif type.
+
+ return TString(fgkPadPosPrefix + motifTypeID + fgkDataExt);
+}
+
+//______________________________________________________________________________
+TString AliMpFiles::PadPosFilePath(AliMp::StationType station,
+ AliMp::PlaneType plane,
const TString& motifTypeID)
{
/// Returns path to data file with pad positions for a given motif type.
- return TString(PlaneDataDir(station, plane)
- + fgkPadPosPrefix + motifTypeID + fgkDataExt);
+ return TString(PlaneDataDir(station, plane) + PadPosFileName(motifTypeID));
+}
+
+//______________________________________________________________________________
+TString AliMpFiles::MotifSpecialFileName(const TString& motifID)
+{
+ /// Returns name of data file with pad dimensions for a given motif ID.
+
+ return TString(fgkMotifSpecialPrefix + motifID + fgkDataExt);
+
}
//______________________________________________________________________________
-TString AliMpFiles::MotifSpecialFilePath(AliMpStationType station,
- AliMpPlaneType plane,
+TString AliMpFiles::MotifSpecialFilePath(AliMp::StationType station,
+ AliMp::PlaneType plane,
const TString& motifID)
{
/// Returns path to data file with pad dimensions for a given motif ID.
- return TString(PlaneDataDir(station, plane)
- + fgkMotifSpecialPrefix + motifID + fgkDataExt);
-
+ return TString(PlaneDataDir(station, plane) + MotifSpecialFileName(motifID));
}
//______________________________________________________________________________
-TString AliMpFiles::BergToGCFilePath(AliMpStationType station)
+TString AliMpFiles::BergToGCFilePath(AliMp::StationType station)
{
/// Returns the path of the file which describes the correspondance between
/// the berg number and the gassiplex channel.
+ fgkBergToGCFileName + fgkDataExt;
}
+//______________________________________________________________________________
+TString AliMpFiles::ManuToSerialPath(const TString& deName, AliMp::StationType station)
+{
+/// Returns the path of the file for the manu id to their serial number
+
+ return GetTop() + fgkDataDir + StationDataDir(station)
+ + fgkManuToSerialDir + deName + fgkManuToSerial + fgkDataExt;
+}
+
+
//______________________________________________________________________________
void
AliMpFiles::SetTopPath(const TString& topPath)