Back to home page

EIC code displayed by LXR

 
 

    


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

0001 #pragma once
0002 /**
0003 qdebug.h
0004 ==========
0005 
0006 Instanciation managed from QSim/QDebug 
0007 HMM no reason for this to be in QUDARap, could be down in sysrap
0008 
0009 **/
0010 
0011 #include "scuda.h"
0012 #include "squad.h"
0013 #include "sphoton.h"
0014 #include "sscint.h"
0015 #include "scerenkov.h"
0016 #include "sstate.h"
0017 
0018 #if defined(__CUDACC__) || defined(__CUDABE__)
0019    #define QDEBUG_METHOD __device__
0020 #else
0021    #define QDEBUG_METHOD 
0022 #endif 
0023 
0024 
0025 struct qdebug
0026 {
0027     float wavelength ; 
0028     float cosTheta ; 
0029     float3 normal ; 
0030     float3 direction ; 
0031     float  orient ; 
0032     float  value ; 
0033 
0034     sstate s ; 
0035     quad2  prd ; 
0036     sphoton  p ; 
0037     sscint    scint_gs ; 
0038     scerenkov cerenkov_gs ; 
0039 
0040 #if defined(__CUDACC__) || defined(__CUDABE__)
0041 #else
0042     void save(const char* dir) const ; 
0043     void save_scint_gs(const char* dir) const ; 
0044     void save_cerenkov_gs(const char* dir) const ; 
0045 #endif
0046 
0047 }; 
0048 
0049 #if defined(__CUDACC__) || defined(__CUDABE__)
0050 #else
0051 #include "NP.hh"
0052 
0053 inline void qdebug::save(const char* dir) const 
0054 {
0055     s.save(dir);    
0056 
0057     NP* pr = NP::Make<float>(1,2,4) ; 
0058     pr->read2( (float*)prd.cdata() ); 
0059     pr->save(dir, "prd.npy");
0060 
0061     NP* ph = NP::Make<float>(1,4,4) ; 
0062     ph->read2( (float*)p.cdata() ); 
0063     ph->save(dir, "p0.npy");   
0064 }
0065 
0066 inline void qdebug::save_scint_gs(const char* dir) const 
0067 {
0068     NP* gs = NP::Make<float>(1,6,4) ; 
0069     gs->read2( (float*)scint_gs.cdata() ); 
0070     gs->save(dir, "scint_gs.npy"); 
0071 }
0072 
0073 inline void qdebug::save_cerenkov_gs(const char* dir) const 
0074 {
0075     NP* gs = NP::Make<float>(1,6,4) ; 
0076     gs->read2( (float*)cerenkov_gs.cdata() ); 
0077     gs->save(dir, "cerenkov_gs.npy"); 
0078 }
0079 
0080 
0081 #endif
0082 
0083