//-*- Mode: C++ -*-
// $Id$
//* This file is property of and copyright by the ALICE HLT Project *
//* ALICE Experiment at CERN, All rights reserved. *
//* See cxx source for full Copyright notice *
/// @file AliHLTUpcTriggerComponent.h
/// @author Kyrre Skjerdal
/// @date 2010-04-16
/// @brief HLT trigger component for Ultra-Peripheral Collisions (UPC)
#ifndef ALIHLTUPCTRIGGERCOMPONENT_H
#define ALIHLTUPCTRIGGERCOMPONENT_H
#include "AliHLTTrigger.h"
//#include "AliESDEvent.h"
class AliESDEvent;
/**
* @class AliHLTUpcTriggerComponent
*
* HLT trigger component for Ultra-Peripheral Collisions
*
*
General properties:
*
* Component ID: \b UpcTrigger
* Library: \b libAliHLTTrigger.so
* Input Data Types: kAliHLTAllDataTypes
* Output Data Types: ::kAliHLTAnyDataType
*
* Mandatory arguments:
*
*
* Optional arguments:
*
*
* Configuration:
*
* By default, configuration is loaded from OCDB, can be overridden by
* component arguments.
*
* Default CDB entries:
*
*
* Performance:
*
*
* Memory consumption:
*
*
* Output size:
*
*
* \ingroup alihlt_trigger_components
*/
class AliHLTUpcTriggerComponent : public AliHLTTrigger
{
public:
virtual ~AliHLTUpcTriggerComponent(){;}
//Returning the trigger name (UpcTrigger)
virtual const char* GetTriggerName() const;
//Returning a new object of the class
virtual AliHLTComponent* Spawn();
//Gives the output data size
virtual void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
private:
//The trigger code
virtual int DoTrigger();
//Check if the event has a reconstructed primary vertex
Bool_t PrimaryVertexReconstructed(const AliESDEvent *event) const;
ClassDef(AliHLTUpcTriggerComponent, 0)
};
#endif