Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-04-09 07:49:34

0001 #pragma once
0002 /**
0003 SEvent.hh
0004 ===========
0005 
0006 ALL THESE ARE STATIC GENSTEP UTILITIES
0007 
0008 BUT CANNOT MOVE THEM ALL TO HEADER ONLY SGenstep.h
0009 AND DELETE SEvent.{hh,cc} BECAUSE THIS USES SEventConfig
0010 COMPLICATING THINGS
0011 
0012 **/
0013 
0014 struct NP ;
0015 struct quad4 ;
0016 struct quad6 ;
0017 struct storch ;
0018 struct uint4 ;
0019 
0020 #ifdef WITH_OLD_FRAME
0021 #include "sframe.h"
0022 #else
0023 #include "sfr.h"
0024 #endif
0025 
0026 template <typename T> struct Tran ;
0027 
0028 #include <vector>
0029 #include "plog/Severity.h"
0030 #include "SYSRAP_API_EXPORT.hh"
0031 
0032 
0033 struct SYSRAP_API SEvent
0034 {
0035     static const plog::Severity LEVEL ;
0036 
0037     static NP* GENSTEP ;
0038     static NP*  GetGENSTEP();
0039     static void SetGENSTEP(NP* gs);
0040     static bool HasGENSTEP();
0041 
0042     static NP* HIT ;
0043     static NP*  GetHIT();
0044     static void SetHIT(NP* gs);
0045     static bool HasHIT();
0046 
0047 
0048 #ifdef WITH_OLD_FRAME
0049     static NP*   MakeInputPhotonGenstep( const NP* input_photon, int gentype, const sframe* fr );
0050     static quad6 MakeInputPhotonGenstep_(const NP* input_photon, int gentype, const sframe* fr );
0051 #else
0052     static NP*   MakeInputPhotonGenstep( const NP* input_photon, int gentype, const sfr* fr );
0053     static quad6 MakeInputPhotonGenstep_(const NP* input_photon, int gentype, const sfr* fr );
0054 #endif
0055 
0056 
0057 
0058     static NP* MakeDemoGenstep(const char* config=nullptr, int idx_arg=-1);
0059     static NP* MakeTorchGenstep(int idx_arg=-1);
0060     static NP* MakeCerenkovGenstep(int idx_arg=-1);
0061     static NP* MakeScintGenstep(int idx_arg=-1);
0062     static NP* MakeCarrierGenstep(int idx_arg=-1);
0063     static NP* MakeGenstep(int gentype, int idx_arg=-1);
0064 
0065     template <typename T>
0066     static void FillGenstep( NP* gs, int gs_start, int gs_stop, int numphoton_per_genstep, bool dump ) ;
0067 
0068 
0069     static NP* MakeSeed( const NP* gs );
0070 
0071 
0072     static NP* MakeCountGenstep(const char* config=nullptr, int* total=nullptr);
0073     static unsigned SumCounts(const std::vector<int>& counts);
0074 
0075     static void ExpectedSeeds(std::vector<int>& seeds, const std::vector<int>& counts );
0076     static int  CompareSeeds( const int* seeds, const int* xseeds, int num_seed );
0077     static std::string DescSeed( const int* seed, int num_seed, int edgeitems );
0078 
0079 
0080     static NP* MakeCountGenstep(const std::vector<int>& photon_counts_per_genstep, int* total );
0081 };
0082 
0083