AliFMDEdepMap::AliFMDEdepMap(const AliFMDEdepMap& other)
: AliFMDMap(other.fMaxDetectors, other.fMaxRings, other.fMaxSectors,
other.fMaxStrips),
- fTotal(0),
+ fTotal(fMaxDetectors * fMaxRings * fMaxSectors * fMaxStrips),
fData(0)
{
// Copy constructor
- fTotal = fMaxDetectors * fMaxRings * fMaxSectors * fMaxStrips;
+ if (fTotal == 0) fTotal = 51200;
fData = new AliFMDEdepHitPair[fTotal];
- for (UShort_t i = 0; i < fTotal; i++) fData[i] = other.fData[i];
+ for (Int_t i = 0; i < fTotal; i++) fData[i] = other.fData[i];
}
+//____________________________________________________________________
+AliFMDEdepMap::AliFMDEdepMap()
+ : AliFMDMap(),
+ fTotal(0),
+ fData(0)
+{
+ // Construct a map
+ //
+ // Parameters:
+ // None
+}
//____________________________________________________________________
AliFMDEdepMap::AliFMDEdepMap(UShort_t maxDet,
UShort_t maxSec,
UShort_t maxStr)
: AliFMDMap(maxDet, maxRing, maxSec, maxStr),
- fTotal(0),
+ fTotal(fMaxDetectors * fMaxRings * fMaxSectors * fMaxStrips),
fData(0)
{
// Construct a map
// maxRinf Maximum # of rings
// maxSec Maximum # of sectors
// maxStr Maximum # of strips
- fTotal = fMaxDetectors * fMaxRings * fMaxSectors * fMaxStrips;
+ if (fTotal == 0) fTotal = 51200;
fData = new AliFMDEdepHitPair[fTotal];
}
AliFMDEdepMap::operator=(const AliFMDEdepMap& other)
{
// Assignment operator
+ if (&other == this) return *this;
fMaxDetectors = other.fMaxDetectors;
fMaxRings = other.fMaxRings;
fMaxSectors = other.fMaxSectors;
fMaxStrips = other.fMaxStrips;
if (fData) delete [] fData;
fTotal = fMaxDetectors * fMaxRings * fMaxSectors * fMaxStrips;
+ if (fTotal == 0) fTotal = 51200;
fData = new AliFMDEdepHitPair[fTotal];
- for (UShort_t i = 0; i < fTotal; i++) fData[i] = other.fData[i];
+ for (Int_t i = 0; i < fTotal; i++) fData[i] = other.fData[i];
return *this;
}
AliFMDEdepMap::Reset()
{
// Reset to zero
- for (UShort_t i = 0; i < fTotal; i++) {
- fData[i].fEdep = 0;
- fData[i].fN = 0;
+ for (Int_t i = 0; i < fTotal; i++) {
+ fData[i].fEdep = 0;
+ fData[i].fN = 0;
+ fData[i].fNPrim = 0;
+ fData[i].fLabels.Reset();
};
}
AliFMDEdepMap::Reset(const AliFMDEdepHitPair& val)
{
// Reset to val
- for (UShort_t i = 0; i < fTotal; i++) {
- fData[i].fEdep = val.fEdep;
- fData[i].fN = val.fN;
+ for (Int_t i = 0; i < fTotal; i++) {
+ fData[i].fEdep = val.fEdep;
+ fData[i].fN = val.fN;
+ fData[i].fNPrim = val.fNPrim;
+ fData[i].fLabels = val.fLabels;
};
}
//____________________________________________________________________
AliFMDEdepHitPair&
-AliFMDEdepMap::operator()(UShort_t det, Char_t ring, UShort_t sec, UShort_t str)
+AliFMDEdepMap::operator()(UShort_t det, Char_t ring,
+ UShort_t sec, UShort_t str)
{
// Get data
//
//____________________________________________________________________
const AliFMDEdepHitPair&
-AliFMDEdepMap::operator()(UShort_t det, Char_t ring, UShort_t sec, UShort_t str) const
+AliFMDEdepMap::operator()(UShort_t det, Char_t ring,
+ UShort_t sec, UShort_t str) const
{
// Get data
//