-
Sascha Stahl authoredSascha Stahl authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
IParticleTupleTool.h 1.83 KiB
/*****************************************************************************\
* (c) Copyright 2000-2018 CERN for the benefit of the LHCb Collaboration *
* *
* This software is distributed under the terms of the GNU General Public *
* Licence version 3 (GPL Version 3), copied verbatim in the file "COPYING". *
* *
* In applying this licence, CERN does not waive the privileges and immunities *
* granted to it by virtue of its status as an Intergovernmental Organization *
* or submit itself to any jurisdiction. *
\*****************************************************************************/
#pragma once
#include "GaudiKernel/IAlgTool.h"
#include <string>
struct IGeometryInfo;
namespace Tuples {
class Tuple;
}
namespace LHCb {
class Particle;
}
/**
* Fill some particle related variables into a tuple.
*
* \sa IEventTupleTool
*
* @author Jeremie Borel
* @date November 2007
*/
struct GAUDI_API IParticleTupleTool : extend_interfaces<IAlgTool> {
DeclareInterfaceID( IParticleTupleTool, 3, 0 );
//! Fill the tuple.
//! - \b top : may be used to provide additional information about \b part, like the top particle of the decay.
//! - \b part : the particle about which some info are filled.
//! - \b head : prefix for the tuple column name.
//! - \b tuple: the tuple to fill
virtual StatusCode fill( LHCb::Particle const* top, LHCb::Particle const* part, std::string const& head,
Tuples::Tuple& tuple, IGeometryInfo const& geometry ) = 0;
virtual StatusCode fill( LHCb::Particle const* top, LHCb::Particle const* part, std::string const& head,
Tuples::Tuple& tuple ) = 0;
};