updated AliMpReader and AliMpSector classes to it.
number of zones
number of rows
direction of constant pad size (X or Y)
+ offset in X direction
+ offset in Y direction
ZONE
number of zone
Int_t nofZones, nofRows;
TString directionStr;
+ Double_t offsetX, offsetY;
in >> nofZones;
in >> nofRows;
in >> directionStr;
+ in >> offsetX;
+ in >> offsetY;
AliMpDirection direction;
direction = (directionStr == "Y") ? kY : kX;
if (fVerboseLevel>0)
cout << nofZones << " " << nofRows << endl;
- fSector = new AliMpSector("Not defined", nofZones, nofRows,direction);
+ fSector = new AliMpSector("Not defined", nofZones, nofRows,direction,
+ TVector2(offsetX, offsetY));
TString nextKeyword;
in >> nextKeyword;
//_____________________________________________________________________________
AliMpSector::AliMpSector(const TString& id, Int_t nofZones, Int_t nofRows,
- AliMpDirection direction)
+ AliMpDirection direction, const TVector2& offset)
: TObject(),
fID(id),
- fOffset(TVector2(0., 0.)),
+ fOffset(offset),
fZones(),
fRows(),
fDirection(direction),
for (Int_t irow = 0; irow<nofRows; irow++)
fRows.Add(new AliMpRow(irow, fMotifMap));
#endif
-
}
//_____________________________________________________________________________
{
public:
AliMpSector(const TString& id, Int_t nofZones, Int_t nofRows,
- AliMpDirection direction);
+ AliMpDirection direction, const TVector2& offset);
AliMpSector();
virtual ~AliMpSector();
// geometry
TVector2 Position() const;
TVector2 Dimensions() const;
+ TVector2 Offset() const;
// get methods
Int_t GetNofZones() const;
// inline functions
+inline TVector2 AliMpSector::Offset() const
+{ return fOffset; }
+
inline AliMpDirection AliMpSector::GetDirection() const
{ return fDirection; }
SECTOR_DATA
- 4 13 Y
+ 4 13 Y 0.0 0.0
ZONE 1 6.3 4.2
SUBZONE 1 A
SECTOR_DATA
- 4 13 X
+ 4 13 X -0.315 0.21
ZONE 1 6.3 4.2
SUBZONE 4 A
SECTOR_DATA
- 3 13 Y
+ 3 13 Y 0.0 0.0
ZONE 1 7.5 5.0
SUBZONE 7 A
SECTOR_DATA
- 3 12 X
+ 3 12 X 0.0 0.0
ZONE 1 7.5 5.0
SUBZONE 7 A