#include "AliMpSlatMotifMap.h"
#include "AliMpMotifReader.h"
#include "AliMpFiles.h"
+#include "AliMpDataStreams.h"
#include "AliMpMotifType.h"
#include "AliMpPCB.h"
#include "AliMpSlat.h"
#include <sstream>
-///
+
+//-----------------------------------------------------------------------------
/// \class AliMpSt345Reader
//
/// Read slat and pcb ASCII files.
/// - AliMpPCB ReadPCB()
///
/// \author Laurent Aphecetche
+//-----------------------------------------------------------------------------
/// \cond CLASSIMP
ClassImp(AliMpSt345Reader)
/// \endcond
//_____________________________________________________________________________
-AliMpSt345Reader::AliMpSt345Reader(AliMpSlatMotifMap& motifMap)
+AliMpSt345Reader::AliMpSt345Reader()
:
TObject(),
-fMotifMap(motifMap)
+fMotifMap(AliMpSlatMotifMap::Instance())
{
///
/// Default ctor.
/// Create a new AliMpPCB object, by reading it from file.
/// The returned object must be deleted by the client
- std::ifstream in(AliMpFiles::SlatPCBFilePath(AliMp::kStation345,pcbType).Data());
- if (!in.good())
- {
- AliErrorClass(Form("Cannot open file for PCB %s",pcbType));
- return 0;
- }
+ istream& in
+ = AliMpDataStreams::Instance()
+ ->CreateDataStream(AliMpFiles::SlatPCBFilePath(
+ AliMp::kStation345, pcbType));
AliMpMotifReader reader(AliMp::kStation345,AliMp::kNonBendingPlane);
// note that the nonbending
{
AliError("pcb not null as expected");
}
- pcb = new AliMpPCB(&fMotifMap,pcbType,padSizeX,padSizeY,pcbSizeX,pcbSizeY);
+ pcb = new AliMpPCB(fMotifMap,pcbType,padSizeX,padSizeY,pcbSizeX,pcbSizeY);
}
if ( sline(0,kMotifKeyword.Length()) == kMotifKeyword )
int iy;
sin >> sMotifType >> ix >> iy;
- AliMpMotifType* motifType = fMotifMap.FindMotifType(sMotifType);
+ AliMpMotifType* motifType = fMotifMap->FindMotifType(sMotifType);
if (!motifType)
{
AliDebug(1,Form("Reading motifType %s from file",sMotifType.Data()));
motifType = reader.BuildMotifType(sMotifType.Data());
- fMotifMap.AddMotifType(motifType);
+ fMotifMap->AddMotifType(motifType);
}
else
{
}
}
- in.close();
+ delete ∈
return pcb;
}
/// Create a new AliMpSlat object, by reading it from file.
/// The returned object must be deleted by the client.
- std::ifstream in(AliMpFiles::SlatFilePath(AliMp::kStation345,slatType,
- planeType).Data());
- if (!in.good())
- {
- AliErrorClass(Form("Cannot read slat from %s",
- AliMpFiles::SlatFilePath(AliMp::kStation345,slatType,planeType).Data()));
- return 0;
- }
-
+ istream& in
+ = AliMpDataStreams::Instance()
+ ->CreateDataStream(AliMpFiles::SlatFilePath(
+ AliMp::kStation345, slatType, planeType));
+
char line[80];
const TString kpcbKeyword("PCB");
}
}
- in.close();
+ delete ∈
return slat;
-}
+}
+