File indexing completed on 2026-04-09 07:49:34
0001 #pragma once
0002
0003
0004
0005
0006
0007
0008
0009
0010
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