#include "AliMpDEManager.h"
#include "AliMpPad.h"
-#include "AliMpStationType.h"
#include "AliMpVSegmentation.h"
#include "AliLog.h"
AliDebug(3,Form("EVT %d DE %d",fEventNumber,fDetElemId));
- AliMp::StationType stationType = AliMpDEManager::GetStationType(fDetElemId);
+ AliMq::Station12Type stationType = AliMpDEManager::GetStation12Type(fDetElemId);
Float_t kx3 = AliMUONConstants::SqrtKx3();
Float_t ky3 = AliMUONConstants::SqrtKy3();
Float_t pitch = AliMUONConstants::Pitch();
- if ( stationType == AliMp::kStation1 )
+ if ( stationType == AliMq::kStation1 )
{
kx3 = AliMUONConstants::SqrtKx3St1();
ky3 = AliMUONConstants::SqrtKy3St1();
#include "AliLog.h"
#include "AliMpDEManager.h"
-#include "AliMpStationType.h"
#include "AliMUONCluster.h"
#include "AliMUONConstants.h"
#include "AliMUONVDigit.h"
// FIXME: should we get the Mathieson from elsewhere ?
// Find out the DetElemId
- AliMp::StationType stationType = AliMpDEManager::GetStationType(detElemId);
+ AliMq::Station12Type stationType = AliMpDEManager::GetStation12Type(detElemId);
Float_t kx3 = AliMUONConstants::SqrtKx3();
Float_t ky3 = AliMUONConstants::SqrtKy3();
Float_t pitch = AliMUONConstants::Pitch();
- if ( stationType == AliMp::kStation1 )
+ if ( stationType == AliMq::kStation1 )
{
kx3 = AliMUONConstants::SqrtKx3St1();
ky3 = AliMUONConstants::SqrtKy3St1();
#include "AliMUONCluster.h"
#include "AliMUONPad.h"
#include "AliMUONPad.h"
-#include "AliMpStationType.h"
#include "AliMUONConstants.h"
#include "AliMpDEManager.h"
#include "AliMUONMathieson.h"
{
/// Constructor
- AliMp::StationType stationType = AliMpDEManager::GetStationType(fDetElemId);
+ AliMq::Station12Type stationType = AliMpDEManager::GetStation12Type(fDetElemId);
Float_t kx3 = AliMUONConstants::SqrtKx3();
Float_t ky3 = AliMUONConstants::SqrtKy3();
Float_t pitch = AliMUONConstants::Pitch();
- if ( stationType == AliMp::kStation1 )
+ if ( stationType == AliMq::kStation1 )
{
kx3 = AliMUONConstants::SqrtKx3St1();
ky3 = AliMUONConstants::SqrtKy3St1();
Double_t dx(seg->Dimensions().X());
Double_t dy(seg->Dimensions().Y());
- if ( stationType == AliMp::kStation1 || stationType == AliMp::kStation2 )
+ if ( stationType == AliMp::kStation12 )
{
Double_t xmin(FLT_MAX);
Double_t xmax(-FLT_MAX);
switch ( AliMpDEManager::GetStationType(detElemId) )
{
- case AliMp::kStation1:
- case AliMp::kStation2:
+ case AliMp::kStation12:
{
for ( int i = 0; i <3; ++i)
{
switch ( AliMpDEManager::GetStationType(detElemId) )
{
- case AliMp::kStation1:
- case AliMp::kStation2:
+ case AliMp::kStation12:
{
int sector = hvNamer.ManuId2Sector(detElemId,manuId);
if ( sector >= 0 )
{
/// Get a given sector
AliMp::StationType stationType = AliMpDEManager::GetStationType(detElemId);
- if ( stationType != AliMp::kStation1 && stationType != AliMp::kStation2 ) return 0x0;
+ if ( stationType != AliMp::kStation12 ) return 0x0;
AliMp::CathodType cathodeType = AliMpDEManager::GetCathod(detElemId,planeType);
#pragma link C++ enum AliMp::Direction;
#pragma link C++ enum AliMp::XDirection;
#pragma link C++ enum AliMp::PlaneType;
-#pragma link C++ enum AliMp::StationType;
#pragma link C++ enum AliMp::CathodType;
+#pragma link C++ enum AliMp::StationType;
+#pragma link C++ enum AliMq::Station12Type;
#pragma link C++ function operator<<(ostream& ,const AliMpPad& );
#pragma link C++ function operator<<(ostream& ,const AliMpArea& );
#
SRCS += \
mapping/AliMpPlaneType.cxx \
- mapping/AliMpStationType.cxx \
mapping/AliMpCathodType.cxx \
+ mapping/AliMpStationType.cxx \
+ mapping/AliMpStation12Type.cxx \
mapping/AliMpArea.cxx \
mapping/AliMpConstants.cxx \
mapping/AliMpFiles.cxx \
/// - for stations 2 there maximum two PCBs per buspatch,
/// - for slat stations there are maximum three PCBs per buspatch
- if ( AliMpDEManager::GetStationType(fDEId) == AliMp::kStation1) {
+ if ( AliMpDEManager::GetStation12Type(fDEId) == AliMq::kStation1) {
// simply fill the number of manus, no bridge for station 1
return true;
}
- if ( AliMpDEManager::GetStationType(fDEId) == AliMp::kStation2) {
+ if ( AliMpDEManager::GetStation12Type(fDEId) == AliMq::kStation2) {
// there is max two patch modules per buspatch
switch ( AliMpDEManager::GetStationType(detElemId) )
{
- case AliMp::kStation1:
- case AliMp::kStation2:
+ case AliMp::kStation12:
{
switch (dcsNumber)
{
switch (AliMpDEManager::GetStationType(detElemId))
{
- case AliMp::kStation1:
- case AliMp::kStation2:
+ case AliMp::kStation12:
return Form(fgkDCSChannelSt12Pattern[side],chamberId,dcsNumber,sector);
break;
case AliMp::kStation345:
{
switch ( AliMpDEManager::GetStationType(detElemId) )
{
- case AliMp::kStation1:
- case AliMp::kStation2:
+ case AliMp::kStation12:
for ( int sector = 0; sector < 3; ++sector)
{
aliases->Add(new TObjString(DCSChannelName(detElemId,sector)));
{
return ManuId2PCBIndex(detElemId,manuId);
}
- else if ( stationType == AliMp::kStation1 || stationType == AliMp::kStation2 )
+ else if ( stationType == AliMp::kStation12 )
{
return ManuId2Sector(detElemId,manuId);
}
Double_t x = lowerLeft.X()*10.0; // cm -> mm
Int_t isector(-1);
- AliMp::StationType stationType = AliMpDEManager::GetStationType(detElemId);
+ AliMq::Station12Type stationType = AliMpDEManager::GetStation12Type(detElemId);
- if ( stationType == AliMp::kStation1 )
+ if ( stationType == AliMq::kStation1 )
{
if ( x < -10 ) AliFatal("");
TString requestInfo;
switch(AliMpDEManager::GetStationType(detElemId))
{
- case AliMp::kStation1:
- case AliMp::kStation2:
+ case AliMp::kStation12:
case AliMp::kStation345:
if (fDetector == kTrackerDet) isConsistent = kTRUE;
requestInfo = "TRACKER";
TString sManu = ((TObjString*)stringList->At(3))->GetString();
AliMpHelper::DecodeName(sManu,',',fManuList12[GetManuListIndex(idDE)]);
- if(AliMpDEManager::GetStationType(idDE) == AliMp::kStation2) {
+ if(AliMpDEManager::GetStation12Type(idDE) == AliMq::kStation2) {
TString sManuBridge = ((TObjString*)stringList->At(4))->GetString();
AliMpHelper::DecodeName(sManuBridge,',',fManuBridge2[GetManuListIndex(idDE)]);
}
Bool_t newResult = false;
Int_t idDE = busPatch->GetDEId();
- if (AliMpDEManager::GetStationType(idDE) == AliMp::kStation2 )
+ if (AliMpDEManager::GetStation12Type(idDE) == AliMq::kStation2 )
newResult = busPatch->SetNofManusPerModule(fManuBridge2[GetManuListIndex(idDE)].At(i));
else
newResult = busPatch->SetNofManusPerModule();
if ( ! IsValidDetElemId(detElemId, true) ) {
AliFatalClass("Cannot return AliMp::StationType value.");
- return AliMp::kStation1;
+ return AliMp::kStation12;
}
return GetDetElement(detElemId)->GetStationType();
}
+//______________________________________________________________________________
+AliMq::Station12Type AliMpDEManager::GetStation12Type(Int_t detElemId)
+{
+/// Return station12 type \n
+/// Failure causes Fatal error - as AliMp::StationNumber has no possibility
+/// to return undefined value
+
+ if ( ! IsValidDetElemId(detElemId, true) ) {
+ AliFatalClass("Cannot return AliMp::Station12Type value.");
+ return AliMq::kNotSt12;
+ }
+
+ return GetDetElement(detElemId)->GetStation12Type();
+}
+
//______________________________________________________________________________
AliMp::CathodType
AliMpDEManager::GetCathod(Int_t detElemId, AliMp::PlaneType planeType)
#include "AliMpExMap.h"
#include "AliMpPlaneType.h"
-#include "AliMpStationType.h"
#include "AliMpCathodType.h"
+#include "AliMpStationType.h"
+#include "AliMpStation12Type.h"
#include "AliMpDEIterator.h"
class AliMpDetElement;
static Int_t GetChamberId(Int_t detElemId, Bool_t warn = true);
static Int_t GetGeomModuleId(Int_t detElemId, Bool_t warn = true);
- static AliMp::PlaneType GetPlaneType(Int_t detElemId, AliMp::CathodType cath);
- static AliMp::StationType GetStationType(Int_t detElemId);
- static AliMp::CathodType GetCathod(Int_t detElemId, AliMp::PlaneType planeType);
+ static AliMp::PlaneType GetPlaneType(Int_t detElemId, AliMp::CathodType cath);
+ static AliMp::CathodType GetCathod(Int_t detElemId, AliMp::PlaneType planeType);
+ static AliMp::StationType GetStationType(Int_t detElemId);
+ static AliMq::Station12Type GetStation12Type(Int_t detElemId);
static AliMpDetElement* GetDetElement(Int_t detElemId, Bool_t warn = true);
static AliMpDetElement* GetDetElement(const TString& deName, Bool_t warn = true);
return false;
}
-//______________________________________________________________________________
-AliMp::PlaneType AliMpDEStore::PlaneType(const TString& planeTypeName)
-{
-/// Return plane type for the given planeTypeName \n
-/// Fatal error if planeTypeName is wrong
-
- if ( planeTypeName == PlaneTypeName(AliMp::kBendingPlane) )
- return AliMp::kBendingPlane;
-
- if ( planeTypeName == PlaneTypeName(AliMp::kNonBendingPlane) )
- return AliMp::kNonBendingPlane;
-
- // Should never reach this line
- AliFatalClass(Form("No plane type defined for %s", planeTypeName.Data()));
- return AliMp::kBendingPlane;
-}
-
-//______________________________________________________________________________
-AliMp::StationType AliMpDEStore::StationType(const TString& stationTypeName)
-{
-/// Return station type for the given stationTypeName \n
-/// Fatal error if stationTypeName is wrong
-
- if ( stationTypeName == StationTypeName(AliMp::kStation1) )
- return AliMp::kStation1;
-
- if ( stationTypeName == StationTypeName(AliMp::kStation2) )
- return AliMp::kStation2;
-
- if ( stationTypeName == StationTypeName(AliMp::kStation345) )
- return AliMp::kStation345;
-
- if ( stationTypeName == StationTypeName(AliMp::kStationTrigger) )
- return AliMp::kStationTrigger;
-
- // Should never reach this line
- AliFatalClass(Form("No station type defined for ", stationTypeName.Data()));
- return AliMp::kStation1;
-}
-
//______________________________________________________________________________
Bool_t
-AliMpDEStore::ReadDENames(AliMp::StationType station)
+AliMpDEStore::ReadDENames(AliMp::StationType station,
+ AliMq::Station12Type station12)
{
/// Read det element names for cath = 0 from the file specified by name
/// and fill the map
// Open stream
istream& in
= fDataStreams.
- CreateDataStream(AliMpFiles::DENamesFilePath(station));
+ CreateDataStream(AliMpFiles::DENamesFilePath(station, station12));
// Read plane types per cathods
//
{
/// Fill DE names from files
AliDebugClass(2,"");
- Bool_t result1 = ReadDENames(AliMp::kStation1);
- Bool_t result2 = ReadDENames(AliMp::kStation2);
+ Bool_t result1 = ReadDENames(AliMp::kStation12, AliMq::kStation1);
+ Bool_t result2 = ReadDENames(AliMp::kStation12, AliMq::kStation2);
Bool_t result3 = ReadDENames(AliMp::kStation345);
Bool_t result4 = ReadDENames(AliMp::kStationTrigger);
#include "AliMpExMap.h"
#include "AliMpPlaneType.h"
#include "AliMpStationType.h"
+#include "AliMpStation12Type.h"
#include "AliMpIntPair.h"
class AliMpDetElement;
// methods
Bool_t IsPlaneType(const TString& planeTypeName);
- AliMp::PlaneType PlaneType(const TString& planeTypeName);
- AliMp::StationType StationType(const TString& stationTypeName);
-
- Bool_t ReadDENames(AliMp::StationType stationType);
+
+ Bool_t ReadDENames(AliMp::StationType stationType,
+ AliMq::Station12Type station12Type = AliMq::kNotSt12);
void FillDEs();
// static data members
canvas->Clear();
AliMpDetElement* detElem = AliMpDEManager::GetDetElement(fCurrentDetElem);
- AliMp::StationType station = detElem->GetStationType();
+ AliMq::Station12Type station = detElem->GetStation12Type();
AliMpDataStreams dataStreams;
Int_t chamberId = AliMpDEManager::GetChamberId(fId, false);
if ( ! AliMpDEManager::IsValidChamberId(chamberId, true) ) {
AliFatal("Cannot return AliMp::StationType value.");
- return AliMp::kStation1;
+ return AliMp::kStation12;
}
- if ( chamberId == 0 || chamberId == 1 ) return AliMp::kStation1;
- if ( chamberId == 2 || chamberId == 3 ) return AliMp::kStation2;
+ if ( chamberId >= 0 && chamberId <= 3 ) return AliMp::kStation12;
if ( chamberId >= 4 && chamberId <= 9 ) return AliMp::kStation345;
if ( chamberId >= 10 && chamberId <= 13 ) return AliMp::kStationTrigger;
// Should never get to this line
AliFatal("Cannot return AliMp::StationType value.");
- return AliMp::kStation1;
+ return AliMp::kStation12;
+}
+
+//______________________________________________________________________________
+AliMq::Station12Type AliMpDetElement::GetStation12Type() const
+{
+/// Return station12 type \n
+/// Failure causes Fatal error - as AliMp::Station12Type has no possibility
+/// to return undefined value
+
+ Int_t chamberId = AliMpDEManager::GetChamberId(fId, false);
+ if ( ! AliMpDEManager::IsValidChamberId(chamberId, true) ) {
+ AliFatal("Cannot return AliMp::StationType value.");
+ return AliMq::kNotSt12;
+ }
+
+ if ( chamberId == 0 || chamberId == 1 ) return AliMq::kStation1;
+ if ( chamberId == 2 || chamberId == 3 ) return AliMq::kStation2;
+ if ( chamberId >= 4 || chamberId <= 13 ) return AliMq::kNotSt12;
+
+ // Should never get to this line
+ AliFatal("Cannot return AliMp::StationType value.");
+ return AliMq::kNotSt12;
}
//______________________________________________________________________________
#include <TExMap.h>
#include "AliMpArrayI.h"
-#include "AliMpStationType.h"
#include "AliMpPlaneType.h"
#include "AliMpCathodType.h"
+#include "AliMpStationType.h"
+#include "AliMpStation12Type.h"
#ifndef ALI_MP_EX_MAP_H
# include "AliMpExMap.h"
TString GetSegType() const;
TString GetSegName(AliMp::CathodType cath) const;
- AliMp::PlaneType GetPlaneType(AliMp::CathodType cath) const;
- AliMp::CathodType GetCathodType(AliMp::PlaneType planeType) const;
- AliMp::CathodType GetCathodTypeFromManuId(Int_t manuId) const;
- AliMp::StationType GetStationType() const;
+ AliMp::PlaneType GetPlaneType(AliMp::CathodType cath) const;
+ AliMp::CathodType GetCathodType(AliMp::PlaneType planeType) const;
+ AliMp::CathodType GetCathodTypeFromManuId(Int_t manuId) const;
+ AliMp::StationType GetStationType() const;
+ AliMq::Station12Type GetStation12Type() const;
Int_t GetNofBusPatches() const;
Int_t GetBusPatchId(Int_t index) const;
}
//
-// private methods
+// public methods
//
//______________________________________________________________________________
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::DENamesFilePath(AliMp::StationType station)
+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;;
}
{
/// Return path to data file with local trigger board mapping.
- return GetTop() + fgkDataDir + StationDataDir(AliMp::kStationTrigger)
+ return GetTop() + fgkDataDir
+ + StationDataDir(AliMp::kStationTrigger, AliMq::kNotSt12)
+ fgkTriggerGlobalBoards + fgkDataExt;;
}
{
/// \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() + fgkDataRunDir + StationDataDir(station)
+ return GetTop() + fgkDataRunDir + StationDataDir(station, station12Type)
+ deName + fgkManuToSerial + fgkDataExt;
}
#include <TObject.h>
#include "AliMpStationType.h"
+#include "AliMpStation12Type.h"
#include "AliMpPlaneType.h"
#include <TString.h>
// methods
//
+ static TString PlaneDataDir(AliMp::StationType station,
+ AliMq::Station12Type station12Type,
+ AliMp::PlaneType plane);
+ static TString StationDataDir(AliMp::StationType station,
+ AliMq::Station12Type station12Type);
+
// bus patch
//
static TString BusPatchFilePath();
// de names
//
- static TString DENamesFilePath(AliMp::StationType stationType);
+ static TString DENamesFilePath(AliMp::StationType stationType,
+ AliMq::Station12Type station12Type);
// trigger
//
const char* pcbType);
// sectors
//
- static TString SectorFilePath(AliMp::StationType station,
+ static TString SectorFilePath(AliMq::Station12Type station,
AliMp::PlaneType plane);
- static TString SectorSpecialFilePath(AliMp::StationType station,
+ static TString SectorSpecialFilePath(AliMq::Station12Type station,
AliMp::PlaneType plane);
- static TString SectorSpecialFilePath2(AliMp::StationType station,
+ static TString SectorSpecialFilePath2(AliMq::Station12Type station,
AliMp::PlaneType plane);
// motifs
//
static TString MotifFilePath(AliMp::StationType station,
+ AliMq::Station12Type station12Type,
AliMp::PlaneType plane,
const TString& motifTypeID);
static TString MotifFileName(const TString& motifTypeID);
static TString MotifSpecialFilePath(AliMp::StationType station,
+ AliMq::Station12Type station12Type,
AliMp::PlaneType plane, const TString& motifID);
static TString MotifSpecialFileName(const TString& motifID);
static TString PadPosFilePath(AliMp::StationType station,
+ AliMq::Station12Type station12Type,
AliMp::PlaneType plane, const TString& motifTypeID);
static TString PadPosFileName(const TString& motifTypeID);
- static TString BergToGCFilePath(AliMp::StationType station);
+ static TString BergToGCFilePath(AliMp::StationType station,
+ AliMq::Station12Type station12Type);
- static TString ManuToSerialPath(const TString& deName, AliMp::StationType station);
+ static TString ManuToSerialPath(const TString& deName,
+ AliMp::StationType station,
+ AliMq::Station12Type station12Type);
static TString SerialToBinFilePath();
- static TString PlaneDataDir(AliMp::StationType station, AliMp::PlaneType plane);
- static TString StationDataDir(AliMp::StationType station);
-
// set methods
static void SetTopPath(const TString& topPath);
static TString GetTop();
TString deName = de->GetDEName();
AliMp::StationType stationType
= AliMpDEManager::GetStationType(de->GetId());
+ AliMq::Station12Type station12Type
+ = AliMpDEManager::GetStation12Type(de->GetId());
// Nothing to be done for trigger
if ( stationType == AliMp::kStationTrigger ) {
istream& in
= fDataStreams.
- CreateDataStream(AliMpFiles::ManuToSerialPath(deName, stationType));
+ CreateDataStream(
+ AliMpFiles::ManuToSerialPath(deName, stationType, station12Type));
char line[80];
TString deName = detElement->GetDEName();
AliMp::StationType stationType
= AliMpDEManager::GetStationType(detElemId);
+ AliMq::Station12Type station12Type
+ = AliMpDEManager::GetStation12Type(detElemId);
if ( stationType == AliMp::kStationTrigger ) continue;
// Create directory if it does not yet exist
//
- TString dirPath = outDir + AliMpFiles::StationDataDir(stationType);
+ TString dirPath = outDir + AliMpFiles::StationDataDir(stationType, station12Type);
if ( ! gSystem->OpenDirectory(dirPath.Data()) ) {
AliDebugStream(2) << "Making directory " << dirPath.Data() << endl;
gSystem->mkdir(dirPath.Data());
// Compose output file path
//
- string dataPath = AliMpFiles::ManuToSerialPath(deName, stationType).Data();
+ string dataPath = AliMpFiles::ManuToSerialPath(deName, stationType, station12Type).Data();
string top = AliMpFiles::GetTop().Data();
if ( dataPath.find(top) != string::npos ) dataPath.erase(0, top.size()+1);
dataPath.erase(0,dataPath.find('/')+1);
//_____________________________________________________________________________
AliMpMotifReader::AliMpMotifReader(const AliMpDataStreams& dataStreams,
AliMp::StationType station,
+ AliMq::Station12Type station12,
AliMp::PlaneType plane)
: TObject(),
fDataStreams(dataStreams),
fStationType(station),
+ fStation12Type(station12),
fPlaneType(plane)
{
/// Standard constructor
istream& padPosStream
= fDataStreams.
CreateDataStream(AliMpFiles::PadPosFilePath(
- fStationType,fPlaneType, motifTypeId));
+ fStationType, fStation12Type, fPlaneType, motifTypeId));
istream& bergToGCStream
= fDataStreams.
- CreateDataStream(AliMpFiles::BergToGCFilePath(fStationType));
+ CreateDataStream(AliMpFiles::BergToGCFilePath(fStationType, fStation12Type));
istream& motifTypeStream
= fDataStreams.
CreateDataStream(AliMpFiles::MotifFilePath(
- fStationType, fPlaneType, motifTypeId));
+ fStationType, fStation12Type, fPlaneType, motifTypeId));
AliMpMotifType* motifType = new AliMpMotifType(motifTypeId);
} while (!padPosStream.eof());
const Int_t knbergpins =
- (fStationType == AliMp::kStation1 || fStationType == AliMp::kStation2 ) ? 80 : 100;
+ (fStationType == AliMp::kStation12 ) ? 80 : 100;
// Station1 & 2 Bergstak connectors have 80 pins, while for stations
// 3, 4 and 5 they have 100 pins.
Int_t gassiChannel[100];
istream& in
= fDataStreams.
CreateDataStream(AliMpFiles::MotifSpecialFilePath(
- fStationType,fPlaneType, motifID));
+ fStationType, fStation12Type, fPlaneType, motifID));
TString id = MotifSpecialName(motifID,scale);
#include "AliMpContainers.h"
#include "AliMpStationType.h"
+#include "AliMpStation12Type.h"
#include "AliMpPlaneType.h"
#include "AliMpIntPair.h"
#include "AliMpContainers.h"
public:
AliMpMotifReader(const AliMpDataStreams& dataStreams,
- AliMp::StationType station, AliMp::PlaneType plane);
+ AliMp::StationType station,
+ AliMq::Station12Type station12,
+ AliMp::PlaneType plane);
virtual ~AliMpMotifReader();
// methods
// data members
const AliMpDataStreams& fDataStreams; ///< data streams
- AliMp::StationType fStationType; ///< station type
- AliMp::PlaneType fPlaneType; ///< plane type
+ AliMp::StationType fStationType; ///< station type
+ AliMq::Station12Type fStation12Type; ///< station12 type
+ AliMp::PlaneType fPlaneType; ///< plane type
ClassDef(AliMpMotifReader,0) // Data reader
};
//_____________________________________________________________________________
AliMpSectorReader::AliMpSectorReader(const AliMpDataStreams& dataStreams,
- AliMp::StationType station,
+ AliMq::Station12Type station,
AliMp::PlaneType plane)
: TObject(),
fDataStreams(dataStreams),
fStationType(station),
fPlaneType(plane),
fSector(0),
- fMotifReader(new AliMpMotifReader(dataStreams, station, plane))
+ fMotifReader(new AliMpMotifReader(dataStreams, AliMp::kStation12, station, plane))
{
/// Standard constructor
#include <TObject.h>
-#include "AliMpStationType.h"
+#include "AliMpStation12Type.h"
#include "AliMpPlaneType.h"
#include "AliMpXDirection.h"
#include "AliMpIntPair.h"
{
public:
AliMpSectorReader(const AliMpDataStreams& dataStreams,
- AliMp::StationType station, AliMp::PlaneType plane);
+ AliMq::Station12Type station, AliMp::PlaneType plane);
virtual ~AliMpSectorReader();
// methods
static const TString fgkPadRowSegmentKeyword; ///< pad row segment keyword
// data members
- const AliMpDataStreams& fDataStreams; ///< data streams
- AliMp::StationType fStationType; ///< station type
- AliMp::PlaneType fPlaneType; ///< plane type
- AliMpSector* fSector; ///< sector
- AliMpMotifReader* fMotifReader; ///< motif reader
+ const AliMpDataStreams& fDataStreams; ///< data streams
+ AliMq::Station12Type fStationType; ///< station type
+ AliMp::PlaneType fPlaneType; ///< plane type
+ AliMpSector* fSector; ///< sector
+ AliMpMotifReader* fMotifReader; ///< motif reader
ClassDef(AliMpSectorReader,0) // Data reader
};
AliMpVSegmentation* mpSegmentation = 0;
- if ( stationType == AliMp::kStation1 || stationType == AliMp::kStation2 ) {
- AliMpSectorReader reader(fDataStreams, stationType, planeType);
+ if ( stationType == AliMp::kStation12 ) {
+ AliMq::Station12Type station12Type = detElement->GetStation12Type();
+ AliMpSectorReader reader(fDataStreams, station12Type, planeType);
AliMpSector* sector = reader.BuildSector();
mpSegmentation = new AliMpSectorSegmentation(sector, true);
}
AliMp::kStation345, pcbType));
AliMpMotifReader reader(fDataStreams,
- AliMp::kStation345,AliMp::kNonBendingPlane);
+ AliMp::kStation345, AliMq::kNotSt12, AliMp::kNonBendingPlane);
// note that the nonbending
// parameter is of no use for station345, as far as reading motif is
// concerned, as all motifs are supposed to be in the same directory
--- /dev/null
+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice */
+
+// $Id$
+
+//-----------------------------------------------------------------------------
+// Enum AliMq::Station12Type
+// Enumeration for refering to a MUON station12 type.
+//
+// Author: Ivana Hrivnacova; IPN Orsay
+//-----------------------------------------------------------------------------
+
+#include "AliMpStation12Type.h"
+
+#include "AliLog.h"
+
+//_____________________________________________________________________________
+TString AliMq::Station12TypeName(AliMq::Station12Type station12Type)
+{
+ switch ( station12Type ) {
+ case kStation1: return "st1"; break;
+ case kStation2: return "st2"; break;
+ case kNotSt12: return ""; break;
+ }
+
+ // Cannot reach this line
+ AliFatalGeneral("AliMpStation12Type.h", "Unknown sector station type");
+ return "invalidStation12";
+}
--- /dev/null
+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice */
+
+// $Id$
+
+/// \ingroup basic
+/// \enum AliMq::Station12Type
+/// Enumeration for refering to a MUON station12.
+/// It is defined in a different namespace than StationType
+/// in order to prevent from unwanted mixing of both types
+/// in switch command.
+///
+/// \author Ivana Hrivnacova; IPN Orsay
+
+#ifndef ALI_MP_STATION_12_TYPE_H
+#define ALI_MP_STATION_12_TYPE_H
+
+#include <TString.h>
+
+namespace AliMq {
+
+ enum Station12Type
+ {
+ kStation1, ///< station 1
+ kStation2, ///< station 2
+ kNotSt12 ///< value for all non sector stations
+ };
+
+ /// Return name for given stationType
+ TString Station12TypeName(AliMq::Station12Type station12Type);
+}
+
+#endif //ALI_MP_SECTOR_STATION_TYPE_H
TString AliMp::StationTypeName(AliMp::StationType stationType)
{
switch ( stationType ) {
- case kStation1: return "st1"; break;
- case kStation2: return "st2"; break;
case kStation12: return "st12"; break;
case kStation345: return "slat"; break;
case kStationTrigger: return "trigger"; break;
enum StationType
{
- kStation1, ///< station 1 (quadrants)
- kStation2, ///< station 2 (quadrants)
kStation12, ///< station 1,2 (quadrants)
kStation345, ///< station 3,4,5 (slats)
kStationTrigger ///< trigger stations (slats)
AliMp::kStationTrigger,pcbName));
AliMpMotifReader reader(fDataStreams,
- AliMp::kStationTrigger,AliMp::kNonBendingPlane);
+ AliMp::kStationTrigger, AliMq::kNotSt12, AliMp::kNonBendingPlane);
// note that the nonbending
// parameter is of no use for trigger, as far as reading motif is
// concerned, as all motifs are supposed to be in the same directory