#include "AliFMDRing.h" // ALIFMDRING_H
#include "AliFMDDigitizer.h" // ALIFMDDIGITIZER_H
#include "AliFMDSDigitizer.h" // ALIFMDSDIGITIZER_H
+// #define USE_SSDIGITIZER
+#ifdef USE_SSDIGITIZER
+# include "AliFMDSSDigitizer.h" // ALIFMDSDIGITIZER_H
+#endif
// #include "AliFMDGeometryBuilder.h"
#include "AliFMDRawWriter.h" // ALIFMDRAWWRITER_H
#include "AliFMDPoints.h" // ALIFMDPOINTS_H
// Set the TClonesArray to read hits into.
b->SetAddress(&fHits);
}
+//____________________________________________________________________
+void
+AliFMD::SetSDigitsAddressBranch(TBranch *b)
+{
+ // Set the TClonesArray to read hits into.
+ b->SetAddress(&fSDigits);
+}
//____________________________________________________________________
void
// count3 ADC count (a 10-bit word), or -1 if not used
//
TClonesArray& a = *(SDigitsArray());
+ // AliFMDDebug(0, ("Adding sdigit # %d", fNsdigits));
new (a[fNsdigits++])
AliFMDSDigit(detector, ring, sector, strip, edep,
// Create AliFMDDigit's from AliFMDHit's. This is done by making a
// AliFMDDigitizer, and executing that code.
//
+#if 0
Warning("Hits2Digits", "Try not to use this method.\n"
"Instead, use AliSimulator");
+#endif
AliRunDigitizer* manager = new AliRunDigitizer(1, 1);
manager->SetInputStream(0, "galice.root");
- manager->SetOutputFile("H2Dfile");
-
- /* AliDigitizer* dig =*/ CreateDigitizer(manager);
+ manager->SetOutputFile("H2Dfile.root");
+ new AliFMDDigitizer(manager);
manager->Exec("");
delete manager;
}
// Create AliFMDSDigit's from AliFMDHit's. This is done by creating
// an AliFMDSDigitizer object, and executing it.
//
+
+#if 0
+ Warning("Hits2SDigits", "Try not to use this method.\n"
+ "Instead, use AliSimulator");
+ // Create AliFMDSDigit's from AliFMDHit's. This is done by creating
+ // an AliFMDSDigitizer object, and executing it.
+ //
AliFMDSDigitizer* digitizer = new AliFMDSDigitizer("galice.root");
digitizer->Exec("");
delete digitizer;
+#endif
+ AliRunDigitizer* manager = new AliRunDigitizer(1, 1);
+ manager->SetInputStream(0, "galice.root");
+ // manager->SetOutputFile("H2Sfile.root");
+
+ new AliFMDSDigitizer(manager);
+ manager->Exec("");
+ // Hmm!
+ delete manager;
}
AliFMD::CreateDigitizer(AliRunDigitizer* manager) const
{
// Create a digitizer object
- AliFMDDigitizer* digitizer = new AliFMDDigitizer(manager);
+
+ /* This is what we probably _should_ do */
+ AliFMDBaseDigitizer* digitizer = 0;
+
+#ifdef USE_SSDIGITIZER
+ digitizer = new AliFMDSSDigitizer(manager);
+#else
+ /* This is what we actually do, and will work */
+ AliInfo("SDigit->Digit conversion not really supported, "
+ "doing Hit->Digit conversion instead");
+ digitizer = new AliFMDDigitizer(manager);
+#endif
+ return digitizer;
+}
+//____________________________________________________________________
+AliDigitizer*
+AliFMD::CreateSDigitizer(AliRunDigitizer* manager) const
+{
+ // Create a digitizer object
+ AliFMDSDigitizer* digitizer = new AliFMDSDigitizer(manager);
return digitizer;
}