ROOT logo
/**************************************************************************
 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: The ALICE Off-line Project.                                    *
 * Contributors are mentioned in the code where appropriate.              *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/

/* $Id: AliTRDTrigger.cxx 31904 2009-04-08 16:42:03Z cblume $ */

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
// TRD trigger interface class to CTP                                        //
// from here the trigger simulation for L0 (pretrigger) and L1 (GTU) are     //
// called                                                                    //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////

#include "TClonesArray.h"

#include "AliLog.h"
#include "AliTriggerInput.h"
#include "AliTriggerDetector.h"

#include "AliTRDTrigger.h"
#include "AliTRDTriggerL0.h"
#include "AliTRDTriggerL1.h"

AliTRDTrigger::AliTRDTrigger() :
  AliTriggerDetector(),
  fTriggers()
{
  // default constructor

  fTriggers.AddLast(new AliTRDTriggerL0());
  fTriggers.AddLast(new AliTRDTriggerL1());

  SetName("TRD");
}

AliTRDTrigger::~AliTRDTrigger()
{
  // destructor
  TIter trigger(&fTriggers);
  while (AliTriggerDetector *trgDet = (AliTriggerDetector*) trigger())
    delete trgDet;

  fInputs.Clear(); // inputs are deleted either by CTP or submodule
}

void AliTRDTrigger::AssignInputs(const TObjArray& inputs)
{
  // Create inputs for all registered trigger modules.
  if( fInputs.GetEntriesFast() > 0 ) return;

  TIter trigger(&fTriggers);
  while (AliTriggerDetector *trgDet = (AliTriggerDetector*) trigger()) {
    trgDet->AssignInputs(inputs);
    fInputs.AddAll(trgDet->GetInputs());
  }
}

void AliTRDTrigger::CreateInputs()
{

}

void AliTRDTrigger::Trigger()
{
  // TRD trigger steering
  // all registered TRD trigger mechanism are
  // run from here

  TIter trigger(&fTriggers);
  while (AliTriggerDetector *trgDet = (AliTriggerDetector*) trigger()) {
    trgDet->Trigger();
  }
}
 AliTRDTrigger.cxx:1
 AliTRDTrigger.cxx:2
 AliTRDTrigger.cxx:3
 AliTRDTrigger.cxx:4
 AliTRDTrigger.cxx:5
 AliTRDTrigger.cxx:6
 AliTRDTrigger.cxx:7
 AliTRDTrigger.cxx:8
 AliTRDTrigger.cxx:9
 AliTRDTrigger.cxx:10
 AliTRDTrigger.cxx:11
 AliTRDTrigger.cxx:12
 AliTRDTrigger.cxx:13
 AliTRDTrigger.cxx:14
 AliTRDTrigger.cxx:15
 AliTRDTrigger.cxx:16
 AliTRDTrigger.cxx:17
 AliTRDTrigger.cxx:18
 AliTRDTrigger.cxx:19
 AliTRDTrigger.cxx:20
 AliTRDTrigger.cxx:21
 AliTRDTrigger.cxx:22
 AliTRDTrigger.cxx:23
 AliTRDTrigger.cxx:24
 AliTRDTrigger.cxx:25
 AliTRDTrigger.cxx:26
 AliTRDTrigger.cxx:27
 AliTRDTrigger.cxx:28
 AliTRDTrigger.cxx:29
 AliTRDTrigger.cxx:30
 AliTRDTrigger.cxx:31
 AliTRDTrigger.cxx:32
 AliTRDTrigger.cxx:33
 AliTRDTrigger.cxx:34
 AliTRDTrigger.cxx:35
 AliTRDTrigger.cxx:36
 AliTRDTrigger.cxx:37
 AliTRDTrigger.cxx:38
 AliTRDTrigger.cxx:39
 AliTRDTrigger.cxx:40
 AliTRDTrigger.cxx:41
 AliTRDTrigger.cxx:42
 AliTRDTrigger.cxx:43
 AliTRDTrigger.cxx:44
 AliTRDTrigger.cxx:45
 AliTRDTrigger.cxx:46
 AliTRDTrigger.cxx:47
 AliTRDTrigger.cxx:48
 AliTRDTrigger.cxx:49
 AliTRDTrigger.cxx:50
 AliTRDTrigger.cxx:51
 AliTRDTrigger.cxx:52
 AliTRDTrigger.cxx:53
 AliTRDTrigger.cxx:54
 AliTRDTrigger.cxx:55
 AliTRDTrigger.cxx:56
 AliTRDTrigger.cxx:57
 AliTRDTrigger.cxx:58
 AliTRDTrigger.cxx:59
 AliTRDTrigger.cxx:60
 AliTRDTrigger.cxx:61
 AliTRDTrigger.cxx:62
 AliTRDTrigger.cxx:63
 AliTRDTrigger.cxx:64
 AliTRDTrigger.cxx:65
 AliTRDTrigger.cxx:66
 AliTRDTrigger.cxx:67
 AliTRDTrigger.cxx:68
 AliTRDTrigger.cxx:69
 AliTRDTrigger.cxx:70
 AliTRDTrigger.cxx:71
 AliTRDTrigger.cxx:72
 AliTRDTrigger.cxx:73
 AliTRDTrigger.cxx:74
 AliTRDTrigger.cxx:75
 AliTRDTrigger.cxx:76
 AliTRDTrigger.cxx:77
 AliTRDTrigger.cxx:78
 AliTRDTrigger.cxx:79
 AliTRDTrigger.cxx:80
 AliTRDTrigger.cxx:81
 AliTRDTrigger.cxx:82
 AliTRDTrigger.cxx:83
 AliTRDTrigger.cxx:84
 AliTRDTrigger.cxx:85