LCOV - code coverage report
Current view: top level - EMCAL/EMCALTriggerBase - AliEMCALTriggerPatchFinder.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 3 33.3 %
Date: 2016-06-14 17:26:59 Functions: 3 27 11.1 %

          Line data    Source code
       1             : /**
       2             :  * @file AliEmcalTriggerPatchFinder.h
       3             :  * @date Oct. 23, 2015
       4             :  * @author Markus Fasel <markus.fasel@cern.ch>, Lawrence Berkeley National Laboratory
       5             :  */
       6             : #ifndef ALIEMCALTRIGGERPATCHFINDER_H
       7             : #define ALIEMCALTRIGGERPATCHFINDER_H
       8             : /* Copyright(c) 1998-2015, ALICE Experiment at CERN, All rights reserved. *
       9             :  * See cxx source for full Copyright notice                               */
      10             : 
      11             : #include <TObject.h>
      12             : #include <vector>
      13             : 
      14             : #include "AliEMCALTriggerRawPatch.h"
      15             : 
      16             : template<typename T> class AliEMCALTriggerDataGrid;
      17             : template<typename T> class AliEMCALTriggerAlgorithm;
      18             : 
      19             : /**
      20             :  * @class AliEmcalTriggerPatchFinder
      21             :  * @brief Steering class for patch finder
      22             :  *
      23             :  * This class steers the trigger patch finding by calling
      24             :  * the trigger algorithms assigned to the patch finder. Trigger
      25             :  * algorithms are added via the function AddTriggerAlgorithm.
      26             :  * Patches are found via the function FindPatches.
      27             :  */
      28             : template<typename T>
      29           0 : class AliEMCALTriggerPatchFinder : public TObject {
      30             : public:
      31             :   /**
      32             :    * Constructor
      33             :    */
      34             :   AliEMCALTriggerPatchFinder();
      35             :   /**
      36             :    * Destructor
      37             :    */
      38             :   virtual ~AliEMCALTriggerPatchFinder();
      39             : 
      40             :   /**
      41             :    * Add trigger algorithm to the trigger patch finder
      42             :    * @param trigger Trigger algorithm assigned to the patch finder
      43             :    */
      44           0 :   void AddTriggerAlgorithm(AliEMCALTriggerAlgorithm<T> *trigger) { fTriggerAlgorithms.push_back(trigger); }
      45             : 
      46             :   /**
      47             :    * Find trigger patches usin the grid of adc values. All trigger patch finders are called one after each other.
      48             :    * The result contains the vector of patches from all trigger algorithms. The trigger patches are sorted in energy.
      49             :    * @param adc Data grid with ADC values
      50             :    * @return List of trigger patches found by all trigger algorithms assigned to this trigger patch finder.
      51             :    */
      52             :   std::vector<AliEMCALTriggerRawPatch> FindPatches(const AliEMCALTriggerDataGrid<T> &adc, const AliEMCALTriggerDataGrid<T> &offlineAdc) const;
      53             : 
      54             : protected:
      55             :   std::vector<AliEMCALTriggerAlgorithm<T> *>                 fTriggerAlgorithms;      ///< Trigger algoritms to be used
      56             : 
      57             :   /// \cond CLASSIMP
      58          66 :   ClassDef(AliEMCALTriggerPatchFinder, 1);
      59             :   /// \endcond
      60             : };
      61             : 
      62             : #endif

Generated by: LCOV version 1.11