Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-06 08:14:09

0001 /// ===========================================================================
0002 /*! \file    NullFilter.h
0003  *  \authors Derek Anderson
0004  *  \date    11.20.2024
0005  *
0006  *  Part of the BeamBackgroundFilterAndQA module, this
0007  *  filter does nothing, but provides a template for
0008  *  others to copy and fill in.
0009  */
0010 /// ===========================================================================
0011 
0012 #ifndef NULLFILTER_H
0013 #define NULLFILTER_H
0014 
0015 // module components
0016 #include "BaseBeamBackgroundFilter.h"
0017 
0018 // c++ includes
0019 #include <string>
0020 
0021 // forward declarations
0022 class PHCompositeNode;
0023 
0024 // ============================================================================
0025 //! Null, template filter
0026 // ============================================================================
0027 /*! A beam background filter which does nothing, but
0028  *  provides a template for other filters.
0029  */
0030 class NullFilter : public BaseBeamBackgroundFilter
0031 {
0032  public:
0033   // ========================================================================
0034   //! User options for filter
0035   // ========================================================================
0036   struct Config
0037   {
0038     int verbosity = 0;
0039     bool debug = true;
0040     //... additional options go here ...//
0041   };
0042 
0043   // ctor/dtor
0044   NullFilter(const std::string& name = "Null");
0045   NullFilter(const Config& cfg, const std::string& name = "Null");
0046   virtual ~NullFilter() = default;
0047 
0048   // inherited methods
0049   bool ApplyFilter(PHCompositeNode* topNode) override;
0050   void BuildHistograms(const std::string& module, const std::string& tag = "") override;
0051 
0052  private:
0053   // inherited methods
0054   void GrabNodes(PHCompositeNode* /*topNode*/) override;
0055 
0056   // filter-specific methods
0057   //... go here ...//
0058 
0059   ///! input node(s)
0060   //... go here ...//
0061 
0062   ///! configuration
0063   Config m_config;
0064 
0065 };  // end NullFilter
0066 
0067 #endif
0068 
0069 // end ========================================================================