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 "TObjArray.h"
#include "AliDCSValue.h"
#include "AliMUONVSubprocessor.h"

//-----------------------------------------------------------------------------
/// \class AliMUONVSubprocessor
///
/// Base class for a shuttle sub-task for MUON (either TRK or TRG)
///
/// It allows to organize more cleanly the various calibration tasks
/// to be performed within the MUON shuttle's preprocessors
///
/// \author Laurent Aphecetche
//-----------------------------------------------------------------------------

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

//_____________________________________________________________________________
AliMUONVSubprocessor::AliMUONVSubprocessor(AliMUONPreprocessor* master,
                                           const char* name,
                                           const char* title)
  : TNamed(name,title), fMaster(master),
    fStartTime(0),
    fEndTime(0)
{
  /// ctor
}

//_____________________________________________________________________________
AliMUONVSubprocessor::~AliMUONVSubprocessor()
{
  /// dtor
}

//_____________________________________________________________________________
Bool_t
AliMUONVSubprocessor::Initialize(Int_t /*run*/, 
                                 UInt_t startTime, 
                                 UInt_t endTime)
{
  /// optional
  fStartTime = startTime; // time_created
  fEndTime = endTime; // time_completed
  return kTRUE;
}

//_____________________________________________________________________________
Bool_t
AliMUONVSubprocessor::RemoveValuesOutsideRun(TObjArray* values)
{
  /// Remove values outside run time limits

  TIter next(values);
  AliDCSValue* val = 0x0;

  Bool_t removedValues = kFALSE;
	
  while ( ( val = static_cast<AliDCSValue*>(next()) ) )
  {
    if ( val->GetTimeStamp() < fStartTime || val->GetTimeStamp() > fEndTime ) {
      values->Remove(val);
      removedValues = kTRUE;
    }
  }
  values->Compress();

  return removedValues;
}

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