next50 trigger mask in AliHLTGlobalEsdConverterComponent
[u/mrichter/AliRoot.git] / TRD / AliTRDmcmSim.cxx
index f852992..162a623 100644 (file)
@@ -49,6 +49,7 @@
 #include "AliTRDarrayDictionary.h"
 #include "AliTRDtrackletMCM.h"
 #include "AliTRDmcmSim.h"
+#include "TTreeStream.h"
 
 ClassImp(AliTRDmcmSim)
 
@@ -84,7 +85,8 @@ AliTRDmcmSim::AliTRDmcmSim() :
   fTailAmplLong(NULL),
   fTailAmplShort(NULL),
   fNHits(0),
-  fFitReg(NULL)
+  fFitReg(NULL),
+  fDebugStream(0x0)
 {
   //
   // AliTRDmcmSim default constructor
@@ -1290,6 +1292,14 @@ void AliTRDmcmSim::CalcFitreg()
 
         // The accumulated charge is with the pedestal!!!
         qtotTemp = adcLeft + adcCentral + adcRight;
+       if ((fDebugStream) && (qtotTemp > 130)) {
+         (*fDebugStream) << "testtree"
+                         << "qtot=" << qtotTemp
+                         << "qleft=" << adcLeft
+                         << "qcent=" << adcCentral
+                         << "qright=" << adcRight
+                         << "\n";
+       }
         if ( (hitQual) &&
              (qtotTemp >= fTrapConfig->GetTrapReg(AliTRDtrapConfig::kTPHT, fDetector, fRobPos, fMcmPos)) &&
              (adcLeft <= adcCentral) &&
@@ -2337,6 +2347,22 @@ void AliTRDmcmSim::PrintTrackletsXml(ostream& os) const
 }
 
 
+void AliTRDmcmSim::PrintAdcDatTxt(ostream& os) const
+{
+  // print ADC data in text format (suitable as Modelsim stimuli)
+
+   os << "# MCM " << fMcmPos << " on ROB " << fRobPos <<
+      " in detector " << fDetector << std::endl;
+
+   for (Int_t iTimeBin = 0; iTimeBin < fNTimeBin; iTimeBin++) {
+      for (Int_t iChannel = 0; iChannel < AliTRDfeeParam::GetNadcMcm(); ++iChannel) {
+        os << std::setw(5) << (fADCR[iChannel][iTimeBin] >> fgkAddDigits);
+      }
+      os << std::endl;
+   }
+}
+
+
 void AliTRDmcmSim::PrintAdcDatHuman(ostream& os) const
 {
   // print ADC data in human-readable format