fCount1(0),
fCount2(-1),
fCount3(-1),
- fCount4(-1)
+ fCount4(-1),
+ fNParticles(0),
+ fNPrimaries(0)
+ // , fLabels(0)
{
// cTOR
}
//____________________________________________________________________
-AliFMDSDigit::AliFMDSDigit(UShort_t detector,
- Char_t ring,
- UShort_t sector,
- UShort_t strip,
- Float_t edep,
- UShort_t count1,
- Short_t count2,
- Short_t count3,
- Short_t count4)
+AliFMDSDigit::AliFMDSDigit(UShort_t detector,
+ Char_t ring,
+ UShort_t sector,
+ UShort_t strip,
+ Float_t edep,
+ UShort_t count1,
+ Short_t count2,
+ Short_t count3,
+ Short_t count4,
+ UShort_t npart,
+ UShort_t nprim,
+ Int_t* refs)
: AliFMDBaseDigit(detector, ring, sector, strip),
fEdep(edep),
fCount1(count1),
fCount2(count2),
fCount3(count3),
- fCount4(count4)
+ fCount4(count4),
+ fNParticles(npart),
+ fNPrimaries(nprim)
+ // , fLabels(refs)
{
//
// Creates a real data digit object
// count1 ADC count (a 10-bit word)
// count2 ADC count (a 10-bit word) -1 if not used
// count3 ADC count (a 10-bit word) -1 if not used
+ if (!refs) return;
+ for (Int_t i = 0; i < npart; i++) AddTrack(refs[i]);
}
//____________________________________________________________________
void
-AliFMDSDigit::Print(Option_t* /* option*/) const
+AliFMDSDigit::Print(Option_t* option) const
{
// Print digit to standard out
AliFMDBaseDigit::Print();
- cout << "\t" << fEdep << " -> "
- << fCount1 << " (" << fCount2 << "," << fCount3 << ","
- << fCount4 << ") = " << Counts() << endl;
+ std::cout << "\t"
+ << std::setw(10) << fEdep << " -> "
+ << std::setw(4) << fCount1 << " ("
+ << std::setw(4) << fCount2 << ","
+ << std::setw(4) << fCount3 << ","
+ << std::setw(4) << fCount4 << ") = "
+ << std::setw(4) << Counts() << std::flush;
+
+ TString opt(option);
+ if (opt.Contains("p", TString::kIgnoreCase))
+ std::cout << " ["
+ << std::setw(2) << fNPrimaries << "/"
+ << std::setw(2) << fNParticles << "]"
+ << std::flush;
+ if (opt.Contains("l", TString::kIgnoreCase)) {
+ std::cout << " ";
+ for (Int_t i = 0; i < GetNTrack(); i++)
+ std::cout << (i == 0 ? "" : ",") << std::setw(5) << fTracks[i];
+#if 0
+ for (Int_t i = 0; i < fLabels.fN; i++)
+ std::cout << (i == 0 ? "" : ",") << fLabels.fArray[i];
+#endif
+ }
+ std::cout << std::endl;
}
//____________________________________________________________________