Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:17:39

0001 
0002 #pragma once
0003 #include <JANA/Components/JComponentFwd.h>
0004 
0005 
0006 class JServiceLocator;
0007 struct JService : public jana::components::JComponent {
0008 
0009     /// acquire_services is a callback which allows the user to configure a JService
0010     /// which relies on other JServices. The idea is that the user uses a constructor
0011     /// or initialize() method to configure things which don't rely on other JServices, and
0012     /// then use acquire_services() to configure the things which do. We need this because
0013     /// due to JANA's plugin architecture, we can't guarantee the order in which JServices
0014     /// get provided. So instead, we collect all of the JServices first and wire them
0015     /// together afterwards in a separate phase.
0016     ///
0017     /// Note: Don't call JApplication::GetService() or JServiceLocator::get() from InitPlugin()!
0018 
0019     virtual ~JService() = default;
0020 
0021     void DoInit(JServiceLocator*);
0022 
0023     virtual void Init() {};
0024 
0025     // This will be deprecated eventually
0026     virtual void acquire_services(JServiceLocator*) {};
0027 };
0028