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$

#include "AliMUONTriggerPreprocessor.h"

#include "AliLog.h"
#include "AliMUONTriggerSubprocessor.h"
#include "AliMUONTriggerDCSSubprocessor.h"
#include "AliShuttleInterface.h"
#include "Riostream.h"

//-----------------------------------------------------------------------------
/// \class AliMUONTriggerPreprocessor
///
/// Shuttle preprocessor for MUON trigger. The real worker
/// class is AliMUONTriggerSubprocessor
/// 
/// \author Laurent Aphecetche
//-----------------------------------------------------------------------------

/// \cond CLASSIMP
ClassImp(AliMUONTriggerPreprocessor)
/// \endcond

//_____________________________________________________________________________
AliMUONTriggerPreprocessor::AliMUONTriggerPreprocessor(AliShuttleInterface* shuttle)
: AliMUONPreprocessor("MTR",shuttle),
  fTriggerSubprocessor(new AliMUONTriggerSubprocessor(this)),
  fTriggerDCSSubprocessor(new AliMUONTriggerDCSSubprocessor(this))
{
  /// ctor. 
  AddRunType("PHYSICS");
  AddRunType("CALIBRATION");
}

//_____________________________________________________________________________
AliMUONTriggerPreprocessor::~AliMUONTriggerPreprocessor()
{
  /// dtor
  delete fTriggerSubprocessor;
  delete fTriggerDCSSubprocessor;
}

//_____________________________________________________________________________
void
AliMUONTriggerPreprocessor::Initialize(Int_t run, UInt_t startTime, UInt_t endTime)
{
  /// Re-register the subprocessor(s) depending on the actual runType

  ClearSubprocessors();
  
  fIsValid = kTRUE;
  fIsApplicable = kTRUE;
  
  TString runType = GetRunType();
  
  if ( runType == "PHYSICS" ) 
  {
    Add(fTriggerSubprocessor);
    Add(fTriggerDCSSubprocessor,kTRUE); // uses DCS
  }
  else if (runType == "CALIBRATION")
  {
    Add(fTriggerSubprocessor);
  }
  else
  {
    fIsApplicable = kFALSE;
  }
  
  AliMUONPreprocessor::Initialize(run,startTime,endTime);  
}
 AliMUONTriggerPreprocessor.cxx:1
 AliMUONTriggerPreprocessor.cxx:2
 AliMUONTriggerPreprocessor.cxx:3
 AliMUONTriggerPreprocessor.cxx:4
 AliMUONTriggerPreprocessor.cxx:5
 AliMUONTriggerPreprocessor.cxx:6
 AliMUONTriggerPreprocessor.cxx:7
 AliMUONTriggerPreprocessor.cxx:8
 AliMUONTriggerPreprocessor.cxx:9
 AliMUONTriggerPreprocessor.cxx:10
 AliMUONTriggerPreprocessor.cxx:11
 AliMUONTriggerPreprocessor.cxx:12
 AliMUONTriggerPreprocessor.cxx:13
 AliMUONTriggerPreprocessor.cxx:14
 AliMUONTriggerPreprocessor.cxx:15
 AliMUONTriggerPreprocessor.cxx:16
 AliMUONTriggerPreprocessor.cxx:17
 AliMUONTriggerPreprocessor.cxx:18
 AliMUONTriggerPreprocessor.cxx:19
 AliMUONTriggerPreprocessor.cxx:20
 AliMUONTriggerPreprocessor.cxx:21
 AliMUONTriggerPreprocessor.cxx:22
 AliMUONTriggerPreprocessor.cxx:23
 AliMUONTriggerPreprocessor.cxx:24
 AliMUONTriggerPreprocessor.cxx:25
 AliMUONTriggerPreprocessor.cxx:26
 AliMUONTriggerPreprocessor.cxx:27
 AliMUONTriggerPreprocessor.cxx:28
 AliMUONTriggerPreprocessor.cxx:29
 AliMUONTriggerPreprocessor.cxx:30
 AliMUONTriggerPreprocessor.cxx:31
 AliMUONTriggerPreprocessor.cxx:32
 AliMUONTriggerPreprocessor.cxx:33
 AliMUONTriggerPreprocessor.cxx:34
 AliMUONTriggerPreprocessor.cxx:35
 AliMUONTriggerPreprocessor.cxx:36
 AliMUONTriggerPreprocessor.cxx:37
 AliMUONTriggerPreprocessor.cxx:38
 AliMUONTriggerPreprocessor.cxx:39
 AliMUONTriggerPreprocessor.cxx:40
 AliMUONTriggerPreprocessor.cxx:41
 AliMUONTriggerPreprocessor.cxx:42
 AliMUONTriggerPreprocessor.cxx:43
 AliMUONTriggerPreprocessor.cxx:44
 AliMUONTriggerPreprocessor.cxx:45
 AliMUONTriggerPreprocessor.cxx:46
 AliMUONTriggerPreprocessor.cxx:47
 AliMUONTriggerPreprocessor.cxx:48
 AliMUONTriggerPreprocessor.cxx:49
 AliMUONTriggerPreprocessor.cxx:50
 AliMUONTriggerPreprocessor.cxx:51
 AliMUONTriggerPreprocessor.cxx:52
 AliMUONTriggerPreprocessor.cxx:53
 AliMUONTriggerPreprocessor.cxx:54
 AliMUONTriggerPreprocessor.cxx:55
 AliMUONTriggerPreprocessor.cxx:56
 AliMUONTriggerPreprocessor.cxx:57
 AliMUONTriggerPreprocessor.cxx:58
 AliMUONTriggerPreprocessor.cxx:59
 AliMUONTriggerPreprocessor.cxx:60
 AliMUONTriggerPreprocessor.cxx:61
 AliMUONTriggerPreprocessor.cxx:62
 AliMUONTriggerPreprocessor.cxx:63
 AliMUONTriggerPreprocessor.cxx:64
 AliMUONTriggerPreprocessor.cxx:65
 AliMUONTriggerPreprocessor.cxx:66
 AliMUONTriggerPreprocessor.cxx:67
 AliMUONTriggerPreprocessor.cxx:68
 AliMUONTriggerPreprocessor.cxx:69
 AliMUONTriggerPreprocessor.cxx:70
 AliMUONTriggerPreprocessor.cxx:71
 AliMUONTriggerPreprocessor.cxx:72
 AliMUONTriggerPreprocessor.cxx:73
 AliMUONTriggerPreprocessor.cxx:74
 AliMUONTriggerPreprocessor.cxx:75
 AliMUONTriggerPreprocessor.cxx:76
 AliMUONTriggerPreprocessor.cxx:77
 AliMUONTriggerPreprocessor.cxx:78
 AliMUONTriggerPreprocessor.cxx:79
 AliMUONTriggerPreprocessor.cxx:80
 AliMUONTriggerPreprocessor.cxx:81
 AliMUONTriggerPreprocessor.cxx:82
 AliMUONTriggerPreprocessor.cxx:83
 AliMUONTriggerPreprocessor.cxx:84
 AliMUONTriggerPreprocessor.cxx:85
 AliMUONTriggerPreprocessor.cxx:86