// static data members
const TString AliMpFiles::fgkDataDir = "/data";
+const TString AliMpFiles::fgkDataRunDir = "/data_run";
const TString AliMpFiles::fgkStationDir = "/station";
-const TString AliMpFiles::fgkBendingDir = "/bending_plane/";
-const TString AliMpFiles::fgkNonBendingDir = "/non-bending_plane/";
+const TString AliMpFiles::fgkBendingDir = "bending_plane/";
+const TString AliMpFiles::fgkNonBendingDir = "non-bending_plane/";
const TString AliMpFiles::fgkDENames = "denames";
const TString AliMpFiles::fgkSector = "zones";
const TString AliMpFiles::fgkSectorSpecial = "zones_special";
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";
+const TString AliMpFiles::fgkBergToGCFileName = "bergToGC";
+const TString AliMpFiles::fgkTriggerLocalBoards = "RegionalCrate";
+const TString AliMpFiles::fgkTriggerGlobalBoards = "GlobalCrate";
const TString AliMpFiles::fgkBusPatchFileName = "DetElemIdToBusPatch";
-const TString AliMpFiles::fgkBusPatchLengthFileName = "BusPatchLength";
+const TString AliMpFiles::fgkBusPatchInfoFileName = "BusPatchInfo";
+const TString AliMpFiles::fgkBusPatchSpecialFileName = "BusPatchSpecial";
+const TString AliMpFiles::fgkSerialToBinFileName = "ManuSerialToBin";
+
//______________________________________________________________________________
AliMpFiles::~AliMpFiles()
{
}
//
-// private methods
+// public methods
//
-//______________________________________________________________________________
-TString AliMpFiles::GetTop()
-{
-/// Return top path to mapping data defined either via MINSTALL
-/// or ALICE_ROOT environment variable. \n
-/// If both variables are defined, MINSTALL is used.
-
- TString top = getenv("MINSTALL");
- if ( ! top.IsNull() ) return top;
-
- TString ntop = getenv("ALICE_ROOT");
- if ( ntop.IsNull() ) {
- AliErrorClassStream() << "Cannot find path to mapping data." << endl;
- return ntop;
- }
- ntop += "/MUON/mapping";
- return ntop;
-}
-
//______________________________________________________________________________
TString AliMpFiles::PlaneDataDir(AliMp::StationType station,
+ AliMq::Station12Type station12Type,
AliMp::PlaneType plane)
{
/// Returns path to data files with sector description
/// for a specified plane.
switch (station) {
- case AliMp::kStation1:
- case AliMp::kStation2:
+ case AliMp::kStation12:
switch (plane) {
case AliMp::kBendingPlane:
- return GetTop() + fgkDataDir + StationDataDir(station) + fgkBendingDir;
+ return GetTop() + fgkDataDir + StationDataDir(station, station12Type) + fgkBendingDir;
;;
case AliMp::kNonBendingPlane:
- return GetTop() + fgkDataDir + StationDataDir(station) + fgkNonBendingDir;
+ return GetTop() + fgkDataDir + StationDataDir(station, station12Type) + fgkNonBendingDir;
;;
}
break;
case AliMp::kStation345:
case AliMp::kStationTrigger:
- return GetTop() + fgkDataDir + StationDataDir(station) + "/";
+ return GetTop() + fgkDataDir + StationDataDir(station, AliMq::kNotSt12);
break;
default:
AliFatalClass("Incomplete switch on AliMp::PlaneType");
}
//______________________________________________________________________________
-TString AliMpFiles::StationDataDir(AliMp::StationType station)
+TString AliMpFiles::StationDataDir(AliMp::StationType station,
+ AliMq::Station12Type station12Type)
{
/// Returns the station directory name for the specified station number.
TString stationDataDir(fgkStationDir);
switch (station) {
- case AliMp::kStation1:
- stationDataDir += "1/";
- break;
- ;;
- case AliMp::kStation2:
- stationDataDir += "2/";
+ case AliMp::kStation12:
+ switch (station12Type) {
+ case AliMq::kStation1:
+ stationDataDir += "1/";
+ break;
+ ;;
+ case AliMq::kStation2:
+ stationDataDir += "2/";
+ break;
+ ;;
+ case AliMq::kNotSt12:
+ AliFatalClass("Incorrect switch on AliMq::Station12Type");
+ break;
+ }
break;
;;
case AliMp::kStation345:
return stationDataDir;
}
-//
-// public methods
-//
-
//______________________________________________________________________________
TString AliMpFiles::BusPatchFilePath()
{
}
//______________________________________________________________________________
-TString AliMpFiles::BusPatchLengthFilePath()
+TString AliMpFiles::BusPatchInfoFilePath()
{
/// Return path to data file with bus patch mapping.
- return GetTop() + fgkDataDir + "/" + fgkBusPatchLengthFileName + fgkDataExt;
+ return GetTop() + fgkDataDir + "/" + fgkBusPatchInfoFileName + fgkDataExt;
+}
+
+//______________________________________________________________________________
+TString AliMpFiles::BusPatchSpecialFilePath()
+{
+/// Return path to data file with special bus patch mapping.
+
+ return GetTop() + fgkDataDir + "/" + fgkBusPatchSpecialFileName + fgkDataExt;
}
//______________________________________________________________________________
-TString AliMpFiles::DENamesFilePath(AliMp::StationType station)
+TString AliMpFiles::SerialToBinFilePath()
+{
+/// Return path to data file containing manu serial numbers with their bin.
+
+ return GetTop() + fgkDataDir + "/" + fgkSerialToBinFileName + fgkDataExt;
+}
+
+
+//______________________________________________________________________________
+TString AliMpFiles::DENamesFilePath(AliMp::StationType station,
+ AliMq::Station12Type station12Type)
{
/// Return path to data file with DE names for given station.
- return GetTop() + fgkDataDir + StationDataDir(station) + fgkDENames + fgkDataExt;
+ return GetTop() + fgkDataDir + StationDataDir(station, station12Type)
+ + fgkDENames + fgkDataExt;
}
//______________________________________________________________________________
{
/// Return path to data file with local trigger board mapping.
- return GetTop() + fgkDataDir + StationDataDir(AliMp::kStationTrigger)
+ return GetTop() + fgkDataDir
+ + StationDataDir(AliMp::kStationTrigger, AliMq::kNotSt12)
+ fgkTriggerLocalBoards + fgkDataExt;;
}
+//______________________________________________________________________________
+TString AliMpFiles::GlobalTriggerBoardMapping()
+{
+/// Return path to data file with local trigger board mapping.
+
+ return GetTop() + fgkDataDir
+ + StationDataDir(AliMp::kStationTrigger, AliMq::kNotSt12)
+ + fgkTriggerGlobalBoards + fgkDataExt;;
+}
+
//_____________________________________________________________________________
TString AliMpFiles::SlatFilePath(AliMp::StationType stationType,
const char* slatType,
{
/// \todo add ..
- return TString(PlaneDataDir(stationType,plane) + slatType + "." +
+ return TString(PlaneDataDir(stationType, AliMq::kNotSt12, plane)
+ + slatType + "." +
( plane == AliMp::kNonBendingPlane ? "NonBending":"Bending" ) + ".slat");
}
/// 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,AliMp::kNonBendingPlane) + pcbType +
- ".pcb");
+ return TString(PlaneDataDir(stationType, AliMq::kNotSt12, AliMp::kNonBendingPlane)
+ + pcbType + ".pcb");
}
//______________________________________________________________________________
-TString AliMpFiles::SectorFilePath(AliMp::StationType station,
+TString AliMpFiles::SectorFilePath(AliMq::Station12Type station12Type,
AliMp::PlaneType plane)
{
/// Return path to data file with sector description.
- return TString(PlaneDataDir(station, plane) + fgkSector + fgkDataExt);
+ return TString(PlaneDataDir(AliMp::kStation12, station12Type, plane)
+ + fgkSector + fgkDataExt);
}
//______________________________________________________________________________
-TString AliMpFiles::SectorSpecialFilePath(AliMp::StationType station,
+TString AliMpFiles::SectorSpecialFilePath(AliMq::Station12Type station12Type,
AliMp::PlaneType plane)
{
/// Return path to data file with sector special description (irregular motifs).
- return TString(PlaneDataDir(station, plane) + fgkSectorSpecial + fgkDataExt);
+ return TString(PlaneDataDir(AliMp::kStation12, station12Type, plane)
+ + fgkSectorSpecial + fgkDataExt);
}
//______________________________________________________________________________
-TString AliMpFiles::SectorSpecialFilePath2(AliMp::StationType station,
+TString AliMpFiles::SectorSpecialFilePath2(AliMq::Station12Type station12Type,
AliMp::PlaneType plane)
{
/// Returns path to data file with sector special description (irregular motifs).
- return TString(PlaneDataDir(station, plane) + fgkSectorSpecial2 + fgkDataExt);
+ return TString(PlaneDataDir(AliMp::kStation12, station12Type, plane)
+ + fgkSectorSpecial2 + fgkDataExt);
}
//______________________________________________________________________________
//______________________________________________________________________________
TString AliMpFiles::MotifFilePath(AliMp::StationType station,
+ AliMq::Station12Type station12Type,
AliMp::PlaneType plane,
const TString& motifTypeID)
{
/// Returns path to data file for a given motif type.
- return TString(PlaneDataDir(station, plane) + MotifFileName(motifTypeID));
+ return TString(PlaneDataDir(station, station12Type, plane)
+ + MotifFileName(motifTypeID));
}
//______________________________________________________________________________
//______________________________________________________________________________
TString AliMpFiles::PadPosFilePath(AliMp::StationType station,
+ AliMq::Station12Type station12Type,
AliMp::PlaneType plane,
const TString& motifTypeID)
{
/// Returns path to data file with pad positions for a given motif type.
- return TString(PlaneDataDir(station, plane) + PadPosFileName(motifTypeID));
+ return TString(PlaneDataDir(station, station12Type, plane)
+ + PadPosFileName(motifTypeID));
}
//______________________________________________________________________________
//______________________________________________________________________________
TString AliMpFiles::MotifSpecialFilePath(AliMp::StationType station,
+ AliMq::Station12Type station12Type,
AliMp::PlaneType plane,
const TString& motifID)
{
/// Returns path to data file with pad dimensions for a given motif ID.
- return TString(PlaneDataDir(station, plane) + MotifSpecialFileName(motifID));
+ return TString(PlaneDataDir(station, station12Type, plane)
+ + MotifSpecialFileName(motifID));
}
//______________________________________________________________________________
-TString AliMpFiles::BergToGCFilePath(AliMp::StationType station)
+TString AliMpFiles::BergToGCFilePath(AliMp::StationType station,
+ AliMq::Station12Type station12Type)
{
/// Returns the path of the file which describes the correspondance between
/// the berg number and the gassiplex channel.
- return GetTop() + fgkDataDir + StationDataDir(station)
+ return GetTop() + fgkDataDir + StationDataDir(station, station12Type)
+ fgkBergToGCFileName + fgkDataExt;
}
//______________________________________________________________________________
-TString AliMpFiles::ManuToSerialPath(const TString& deName, AliMp::StationType station)
+TString AliMpFiles::ManuToSerialPath(const TString& deName,
+ AliMp::StationType station,
+ AliMq::Station12Type station12Type)
{
/// Returns the path of the file for the manu id to their serial number
- return GetTop() + fgkDataDir + StationDataDir(station)
- + fgkManuToSerialDir + deName + fgkManuToSerial + fgkDataExt;
+ return GetTop() + fgkDataRunDir + StationDataDir(station, station12Type)
+ + deName + fgkManuToSerial + fgkDataExt;
}
GetTop() = topPath;
}
+//______________________________________________________________________________
+TString AliMpFiles::GetTop()
+{
+/// Return top path to mapping data defined either via MINSTALL
+/// or ALICE_ROOT environment variable. \n
+/// If both variables are defined, MINSTALL is used.
+
+ TString top = getenv("MINSTALL");
+ if ( ! top.IsNull() ) return top;
+
+ TString ntop = getenv("ALICE_ROOT");
+ if ( ntop.IsNull() ) {
+ AliErrorClassStream() << "Cannot find path to mapping data." << endl;
+ return ntop;
+ }
+ ntop += "/MUON/mapping";
+ return ntop;
+}
+