Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:58:39

0001 //
0002 // ********************************************************************
0003 // * License and Disclaimer                                           *
0004 // *                                                                  *
0005 // * The  Geant4 software  is  copyright of the Copyright Holders  of *
0006 // * the Geant4 Collaboration.  It is provided  under  the terms  and *
0007 // * conditions of the Geant4 Software License,  included in the file *
0008 // * LICENSE and available at  http://cern.ch/geant4/license .  These *
0009 // * include a list of copyright holders.                             *
0010 // *                                                                  *
0011 // * Neither the authors of this software system, nor their employing *
0012 // * institutes,nor the agencies providing financial support for this *
0013 // * work  make  any representation or  warranty, express or implied, *
0014 // * regarding  this  software system or assume any liability for its *
0015 // * use.  Please see the license in the file  LICENSE  and URL above *
0016 // * for the full disclaimer and the limitation of liability.         *
0017 // *                                                                  *
0018 // * This  code  implementation is the result of  the  scientific and *
0019 // * technical work of the GEANT4 collaboration.                      *
0020 // * By using,  copying,  modifying or  distributing the software (or *
0021 // * any work based  on the software)  you  agree  to acknowledge its *
0022 // * use  in  resulting  scientific  publications,  and indicate your *
0023 // * acceptance of all terms of the Geant4 Software license.          *
0024 // ********************************************************************
0025 
0026 // File:        G4MaterialPropertiesIndex.hh
0027 // Description: Indices and Names for G4MaterialProperties
0028 // Created:     29-06-2017
0029 // Author:      Soon Yung Jun
0030 
0031 #ifndef G4MaterialPropertiesIndex_h
0032 #define G4MaterialPropertiesIndex_h 1
0033 
0034 #include "G4String.hh"
0035 
0036 #include <vector>
0037 
0038 // clang-format off
0039 enum G4MaterialPropertyIndex   {
0040   kNullPropertyIndex = -1,     // the number of G4MaterialPropertyIndex
0041   kRINDEX,                     // index of refraction                  
0042   kREFLECTIVITY,               // reflectivity         
0043   kREALRINDEX,                 // real part of the refractive index
0044   kIMAGINARYRINDEX,            // imaginary part of the refractive index
0045   kEFFICIENCY,                 // efficiency 
0046   kTRANSMITTANCE,              // transmittance of a dielectric surface
0047   kSPECULARLOBECONSTANT,       // reflection probability about the normal of a micro facet. 
0048   kSPECULARSPIKECONSTANT,      // reflection probability about the average surface normal
0049   kBACKSCATTERCONSTANT,        // for the case of several reflections within a deep groove
0050   kGROUPVEL,                   // group velocity
0051   kMIEHG,                      // Mie scattering length
0052   kRAYLEIGH,                   // Rayleigh scattering attenuation length
0053   kWLSCOMPONENT,               // the relative emission spectrum of the material as a function of the photon's momentum
0054   kWLSABSLENGTH,               // the absorption length of the material as a function of the photon's momentum
0055   kWLSCOMPONENT2,               // the relative emission spectrum of the material as a function of the photon's momentum
0056   kWLSABSLENGTH2,               // the absorption length of the material as a function of the photon's momentum
0057   kABSLENGTH,                  // the absorption length
0058   kPROTONSCINTILLATIONYIELD,   // scintillation light yield by protons  
0059   kDEUTERONSCINTILLATIONYIELD, // scintillation light yield by deuterons
0060   kTRITONSCINTILLATIONYIELD,   // scintillation light yield by tritons
0061   kALPHASCINTILLATIONYIELD,    // scintillation light yield by alphas
0062   kIONSCINTILLATIONYIELD,      // scintillation light yield by ions
0063   kELECTRONSCINTILLATIONYIELD, // scintillation light yield by electrons
0064   kSCINTILLATIONCOMPONENT1,    // scintillation light yield vectors for 
0065   kSCINTILLATIONCOMPONENT2,    //   3 channels
0066   kSCINTILLATIONCOMPONENT3,    // "
0067   kCOATEDRINDEX,               // real part of the refractive index of the thin layer in case of coated surface
0068   kNumberOfPropertyIndex       // the number of G4MaterialPropertyIndex
0069 } ;
0070 
0071 enum G4MaterialConstPropertyIndex
0072 {
0073   kNullConstPropertyIndex = -1, // the number of G4MaterialPropertyIndex
0074   kSURFACEROUGHNESS,            // surface microroughness      
0075   kISOTHERMAL_COMPRESSIBILITY,  // isothermal compressibility
0076   kRS_SCALE_FACTOR,             // Rayleigh scattering scale factor
0077   kWLSMEANNUMBERPHOTONS,        // WLS mean number of photons
0078   kWLSTIMECONSTANT,             // any time delay which may occur between absorption and re-emission of the photon
0079   kWLSMEANNUMBERPHOTONS2,        // WLS mean number of photons
0080   kWLSTIMECONSTANT2,             // any time delay which may occur between absorption and re-emission of the photon
0081   kMIEHG_FORWARD,               // forward angle of Mie scattering based on Henyey-Greenstein phase function
0082   kMIEHG_BACKWARD,              // backward angle of Mie scattering based on Henyey-Greenstein phase function
0083   kMIEHG_FORWARD_RATIO,         // ratio of the MIEHG forward scattering 
0084   kSCINTILLATIONYIELD,          // scintillation light yield
0085   kRESOLUTIONSCALE,             // resolution scale
0086   kFERMIPOT,                    // the Fermi potential (in neV)
0087   kDIFFUSION,                   // diffusion
0088   kSPINFLIP,                        // spin flip
0089   kLOSS,                            // loss
0090   kLOSSCS,                        // loss cross-section
0091   kABSCS,                           // 1/v energy dependent absorption cross section
0092   kSCATCS,                      // incoherent elastic scattering cross-section
0093   kMR_NBTHETA,                  // number of theta bins of microroughness (MR)
0094   kMR_NBE,                      // number of energy bins 
0095   kMR_RRMS,                     // RMS of roughness
0096   kMR_CORRLEN,                  // correlation length
0097   kMR_THETAMIN,                 // minimum value of theta
0098   kMR_THETAMAX,                 // maximum value of theta
0099   kMR_EMIN,                     // mininum value of energy
0100   kMR_EMAX,                     // maximum value of energy
0101   kMR_ANGNOTHETA,               // number of theta angles in the look-up table
0102   kMR_ANGNOPHI,                 // number of phi angles in the look-up table
0103   kMR_ANGCUT,                   // angular cut
0104   kSCINTILLATIONTIMECONSTANT1,  // three scintillation decay time constants
0105   kSCINTILLATIONTIMECONSTANT2,  // "
0106   kSCINTILLATIONTIMECONSTANT3,  // "
0107   kSCINTILLATIONRISETIME1,      // three scintillation rise times
0108   kSCINTILLATIONRISETIME2,      // "
0109   kSCINTILLATIONRISETIME3,      // "
0110   kSCINTILLATIONYIELD1,         // relative yields for 3 scintillation channels
0111   kSCINTILLATIONYIELD2,         // "
0112   kSCINTILLATIONYIELD3,         // "
0113   kPROTONSCINTILLATIONYIELD1,   // scintillation light yield by protons  
0114   kPROTONSCINTILLATIONYIELD2,   //   for 3 channels
0115   kPROTONSCINTILLATIONYIELD3,   // "
0116   kDEUTERONSCINTILLATIONYIELD1, // scintillation light yield by deuterons
0117   kDEUTERONSCINTILLATIONYIELD2, //   for 3 channels
0118   kDEUTERONSCINTILLATIONYIELD3, // "
0119   kTRITONSCINTILLATIONYIELD1,   // scintillation light yield by tritons
0120   kTRITONSCINTILLATIONYIELD2,   //   for 3 channels
0121   kTRITONSCINTILLATIONYIELD3,   // "
0122   kALPHASCINTILLATIONYIELD1,    // scintillation light yield by alphas
0123   kALPHASCINTILLATIONYIELD2,    //   for 3 channels
0124   kALPHASCINTILLATIONYIELD3,    // "
0125   kIONSCINTILLATIONYIELD1,      // scintillation light yield by ions
0126   kIONSCINTILLATIONYIELD2,      //   for 3 channels
0127   kIONSCINTILLATIONYIELD3,      // "
0128   kELECTRONSCINTILLATIONYIELD1, // scintillation light yield by electrons
0129   kELECTRONSCINTILLATIONYIELD2, //   for 3 channels
0130   kELECTRONSCINTILLATIONYIELD3, // "
0131   kCOATEDTHICKNESS,             // thickness of the thin layer in case of coated
0132   kCOATEDFRUSTRATEDTRANSMISSION,// for incident angle superior to limit angle, use frustrated transmission (if true)
0133                                 // or total reflection (if false)
0134   kPROTONSCINTILLATIONTIMECONSTANT1,   //  these are per-particle time constants for
0135   kPROTONSCINTILLATIONTIMECONSTANT2,   //  particle-dependent scintillation
0136   kPROTONSCINTILLATIONTIMECONSTANT3,   //    "
0137   kDEUTERONSCINTILLATIONTIMECONSTANT1, //    "
0138   kDEUTERONSCINTILLATIONTIMECONSTANT2, //    "
0139   kDEUTERONSCINTILLATIONTIMECONSTANT3, //    "
0140   kTRITONSCINTILLATIONTIMECONSTANT1,   //    "
0141   kTRITONSCINTILLATIONTIMECONSTANT2,   //    "
0142   kTRITONSCINTILLATIONTIMECONSTANT3,   //    "
0143   kALPHASCINTILLATIONTIMECONSTANT1,    //    "
0144   kALPHASCINTILLATIONTIMECONSTANT2,    //    "
0145   kALPHASCINTILLATIONTIMECONSTANT3,    //    "
0146   kIONSCINTILLATIONTIMECONSTANT1,      //    "
0147   kIONSCINTILLATIONTIMECONSTANT2,      //    "
0148   kIONSCINTILLATIONTIMECONSTANT3,      //    "
0149   kELECTRONSCINTILLATIONTIMECONSTANT1, //    "
0150   kELECTRONSCINTILLATIONTIMECONSTANT2, //    "
0151   kELECTRONSCINTILLATIONTIMECONSTANT3, //    "
0152 
0153   kNumberOfConstPropertyIndex   // the number of G4MaterialConstPropertyIndex
0154 };
0155 // clang-format on
0156 
0157 #endif /* G4MaterialPropertiesIndex_h */