Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2024-09-27 07:03:04

0001 // Copyright 2022, Dmitry Romanov
0002 // Subject to the terms in the LICENSE file found in the top-level directory.
0003 //
0004 //
0005 
0006 #include <Evaluator/DD4hepUnits.h>
0007 #include <JANA/JApplication.h>
0008 #include <string>
0009 
0010 #include "algorithms/interfaces/WithPodConfig.h"
0011 #include "extensions/jana/JOmniFactoryGeneratorT.h"
0012 #include "factories/digi/SiliconTrackerDigi_factory.h"
0013 #include "factories/tracking/TrackerHitReconstruction_factory.h"
0014 
0015 extern "C" {
0016 void InitPlugin(JApplication *app) {
0017     InitJANAPlugin(app);
0018 
0019     using namespace eicrecon;
0020 
0021     // Digitization
0022     app->Add(new JOmniFactoryGeneratorT<SiliconTrackerDigi_factory>(
0023         "MPGDBarrelRawHits",
0024         {
0025           "MPGDBarrelHits"
0026         },
0027         {
0028           "MPGDBarrelRawHits",
0029           "MPGDBarrelRawHitAssociations"
0030         },
0031         {
0032             .threshold = 100 * dd4hep::eV,
0033             .timeResolution = 10,
0034         },
0035         app
0036     ));
0037 
0038     // Convert raw digitized hits into hits with geometry info (ready for tracking)
0039     app->Add(new JOmniFactoryGeneratorT<TrackerHitReconstruction_factory>(
0040         "MPGDBarrelRecHits",
0041         {"MPGDBarrelRawHits"},     // Input data collection tags
0042         {"MPGDBarrelRecHits"},     // Output data tag
0043         {
0044             .timeResolution = 10,
0045         },
0046         app
0047     ));
0048 
0049     // Digitization
0050     app->Add(new JOmniFactoryGeneratorT<SiliconTrackerDigi_factory>(
0051         "OuterMPGDBarrelRawHits",
0052         {
0053           "OuterMPGDBarrelHits"
0054         },
0055         {
0056           "OuterMPGDBarrelRawHits",
0057           "OuterMPGDBarrelRawHitAssociations"
0058         },
0059         {
0060             .threshold = 100 * dd4hep::eV,
0061             .timeResolution = 10,
0062         },
0063         app
0064     ));
0065 
0066     // Convert raw digitized hits into hits with geometry info (ready for tracking)
0067     app->Add(new JOmniFactoryGeneratorT<TrackerHitReconstruction_factory>(
0068         "OuterMPGDBarrelRecHits",
0069         {"OuterMPGDBarrelRawHits"},     // Input data collection tags
0070         {"OuterMPGDBarrelRecHits"},     // Output data tag
0071         {
0072             .timeResolution = 10,
0073         },
0074         app
0075     ));
0076 
0077     // Digitization
0078     app->Add(new JOmniFactoryGeneratorT<SiliconTrackerDigi_factory>(
0079         "BackwardMPGDEndcapRawHits",
0080         {
0081           "BackwardMPGDEndcapHits"
0082         },
0083         {
0084           "BackwardMPGDEndcapRawHits",
0085           "BackwardMPGDEndcapRawHitAssociations"
0086         },
0087         {
0088             .threshold = 100 * dd4hep::eV,
0089             .timeResolution = 10,
0090         },
0091         app
0092     ));
0093 
0094     // Convert raw digitized hits into hits with geometry info (ready for tracking)
0095     app->Add(new JOmniFactoryGeneratorT<TrackerHitReconstruction_factory>(
0096         "BackwardMPGDEndcapRecHits",
0097         {"BackwardMPGDEndcapRawHits"},     // Input data collection tags
0098         {"BackwardMPGDEndcapRecHits"},     // Output data tag
0099         {
0100             .timeResolution = 10,
0101         },
0102         app
0103     ));
0104 
0105     // Digitization
0106     app->Add(new JOmniFactoryGeneratorT<SiliconTrackerDigi_factory>(
0107         "ForwardMPGDEndcapRawHits",
0108         {
0109           "ForwardMPGDEndcapHits"
0110         },
0111         {
0112           "ForwardMPGDEndcapRawHits",
0113           "ForwardMPGDEndcapRawHitAssociations"
0114         },
0115         {
0116             .threshold = 100 * dd4hep::eV,
0117             .timeResolution = 10,
0118         },
0119         app
0120     ));
0121 
0122     // Convert raw digitized hits into hits with geometry info (ready for tracking)
0123     app->Add(new JOmniFactoryGeneratorT<TrackerHitReconstruction_factory>(
0124         "ForwardMPGDEndcapRecHits",
0125         {"ForwardMPGDEndcapRawHits"},     // Input data collection tags
0126         {"ForwardMPGDEndcapRecHits"},     // Output data tag
0127         {
0128             .timeResolution = 10,
0129         },
0130         app
0131     ));
0132 
0133 }
0134 } // extern "C"