<commit_before>//-*- Mode: C++ -*-
// @(#) $Id$

#ifndef ALIHLTPROCESSOR_H
#define ALIHLTPROCESSOR_H
/* 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   AliHLTProcessor.h
    @author <NAME>, <NAME>
    @date   
    @brief  Base class declaration for HLT analysis components. */

// see below for class documentation
// or
// refer to README to build package
// or
// visit http://web.ift.uib.no/~kjeks/doc/alice-hlt   

#include "AliHLTComponent.h"

/**
 * @class AliHLTProcessor
 * Base class of HLT data analysis components.
 * The class provides a common interface for the implementation of HLT data
 * analysis components. The child class must implement the functions:
 * - @ref DoInit (optional)
 * - @ref DoDeinit (optional)
 * - @ref DoEvent
 * - @ref GetComponentID
 * - @ref GetInputDataTypes
 * - @ref GetOutputDataType
 * - @ref GetOutputDataSize
 * - @ref Spawn
 *
 * @ingroup alihlt_component
 */
class AliHLTProcessor : public AliHLTComponent {
 public:
  /** standard constructor */
  AliHLTProcessor();
  /** standard destructor */
  virtual ~AliHLTProcessor();

  /* depricated */
  int Init( AliHLTComponentEnvironment* environ, void* environParam, int argc, const char** argv );
  /* depricated */
  int Deinit();

  /**
   * Event processing function.
   * The method is called by the framework to process one event. After 
   * preparation of data structures. The call is redirected to DoEvent.
   * @return neg. error code if failed 
   */
  int DoProcessing( const AliHLTComponentEventData& evtData,
		    const AliHLTComponentBlockData* blocks, 
		    AliHLTComponentTriggerData& trigData,
		    AliHLTUInt8_t* outputPtr, 
		    AliHLTUInt32_t& size,
		    vector<AliHLTComponentBlockData>& outputBlocks,
		    AliHLTComponentEventDoneData*& edd );

  // Information member functions for registration.

  /**
   * Return @ref AliHLTComponent::kProcessor type as component type.
   * @return component type id
   */
  TComponentType GetComponentType() { return AliHLTComponent::kProcessor;}

 private:
  /**
   * The low-level data processing method for the component.
   * This is the custom processing method and can be overloaded by 
   * the component.<commit_msg>The DoEvent methods should be protected, not private, because classes need to inherit them. I have no idea why gcc even alows this to compile.<commit_after>//-*- Mode: C++ -*-
// @(#) $Id$

#ifndef ALIHLTPROCESSOR_H
#define ALIHLTPROCESSOR_H
/* 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   AliHLTProcessor.h
    @author <NAME>, <NAME>
    @date   
    @brief  Base class declaration for HLT analysis components. */

// see below for class documentation
// or
// refer to README to build package
// or
// visit http://web.ift.uib.no/~kjeks/doc/alice-hlt   

#include "AliHLTComponent.h"

/**
 * @class AliHLTProcessor
 * Base class of HLT data analysis components.
 * The class provides a common interface for the implementation of HLT data
 * analysis components. The child class must implement the functions:
 * - @ref DoInit (optional)
 * - @ref DoDeinit (optional)
 * - @ref DoEvent
 * - @ref GetComponentID
 * - @ref GetInputDataTypes
 * - @ref GetOutputDataType
 * - @ref GetOutputDataSize
 * - @ref Spawn
 *
 * @ingroup alihlt_component
 */
class AliHLTProcessor : public AliHLTComponent {
 public:
  /** standard constructor */
  AliHLTProcessor();
  /** standard destructor */
  virtual ~AliHLTProcessor();

  /* depricated */
  int Init( AliHLTComponentEnvironment* environ, void* environParam, int argc, const char** argv );
  /* depricated */
  int Deinit();

  /**
   * Event processing function.
   * The method is called by the framework to process one event. After 
   * preparation of data structures. The call is redirected to DoEvent.
   * @return neg. error code if failed 
   */
  int DoProcessing( const AliHLTComponentEventData& evtData,
		    const AliHLTComponentBlockData* blocks, 
		    AliHLTComponentTriggerData& trigData,
		    AliHLTUInt8_t* outputPtr, 
		    AliHLTUInt32_t& size,
		    vector<AliHLTComponentBlockData>& outputBlocks,
		    AliHLTComponentEventDoneData*& edd );

  // Information member functions for registration.

  /**
   * Return @ref AliHLTComponent::kProcessor type as component type.
   * @return component type id
   */
  TComponentType GetComponentType() { return AliHLTComponent::kProcessor;}

 protected:
  /**
   * The low-level data processing method for the component.
   * This is the custom processing method and can be overloaded by 
   * the component.
{'fraction_non_alphanumeric': 0.09315628192032686, 'fraction_numerical': 0.0012257405515832482, 'mean_word_length': 3.083402835696414, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7429517', 'n_tokens_mistral': 1436, 'n_tokens_neox': 1386, 'n_words': 489}