]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/AliTRDTriggerL0.cxx
Changes needed for evaporation and fragmentation
[u/mrichter/AliRoot.git] / TRD / AliTRDTriggerL0.cxx
index 88f7f0c1f8a0fb9a4c9575460c87c94e5de6527c..bba3389871760584153be0ff56903bf54cad5e04 100644 (file)
 
 AliTRDTriggerL0::AliTRDTriggerL0()
 {
+  // constructor
+
   SetName("TRD");
 }
 
 AliTRDTriggerL0::~AliTRDTriggerL0()
 {
-
+  // destructor
 }
 
 void AliTRDTriggerL0::CreateInputs()
 {
+  // create the L0 inputs which are provided by the TRD
+
   if (fInputs.GetEntriesFast() > 0)
     return;
 
@@ -56,6 +60,7 @@ void AliTRDTriggerL0::CreateInputs()
 
 void AliTRDTriggerL0::Trigger()
 {
+  // do the actual trigger calculation
 
   AliRunLoader *runLoader = AliRunLoader::Instance();
   if (!runLoader)
@@ -70,26 +75,29 @@ void AliTRDTriggerL0::Trigger()
 
   Int_t* simulationResult;
   simulationResult = ptrgCBB->Simulate();
+  if (!simulationResult) {
+    return;
+  }
   for (Int_t iResult = 1; iResult <= simulationResult[0]; iResult++) {
     AliDebug(5, Form("Result[%d]=0x%x\n",iResult,simulationResult[iResult]));
   }
-  if (simulationResult[0] > 0) { 
+  if ((simulationResult[0] > 0) || (simulationResult[1] > 0)) {
     AliInfo("Fired single gap trigger");
     SetInput("0HSG");
   }
 
-  if (simulationResult[1] > 0) {
+  if (simulationResult[2] > 0) {
     AliInfo("Fired  double gap trigger");
     SetInput("0HDG");
   }
-  if (simulationResult[2] > 0) {
+
+  if (simulationResult[3] > 0) {
     AliInfo("Fired TRD wake up call trigger");
     SetInput("0HWU");
   }
 
   delete ptrgCBB;
-  if (simulationResult != 0x0)
-    delete[] simulationResult;
+  delete[] simulationResult;
   simulationResult = 0x0;
 
   AliDebug(5, Form("memory state: %d", param->CheckVariables()));