Back to home page

EIC code displayed by LXR

 
 

    


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

0001 /*
0002  * Copyright (c) 2019 Opticks Team. All Rights Reserved.
0003  *
0004  * This file is part of Opticks
0005  * (see https://bitbucket.org/simoncblyth/opticks).
0006  *
0007  * Licensed under the Apache License, Version 2.0 (the "License");
0008  * you may not use this file except in compliance with the License.
0009  * You may obtain a copy of the License at
0010  *
0011  *   http://www.apache.org/licenses/LICENSE-2.0
0012  *
0013  * Unless required by applicable law or agreed to in writing, software
0014  * distributed under the License is distributed on an "AS IS" BASIS,
0015  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
0016  * See the License for the specific language governing permissions and
0017  * limitations under the License.
0018  */
0019 
0020 #pragma once
0021 
0022 enum
0023 {
0024     CERENKOV           = 0x1 <<  0,
0025     SCINTILLATION      = 0x1 <<  1,
0026     TORCH              = 0x1 <<  2,
0027     BULK_ABSORB        = 0x1 <<  3,
0028     BULK_REEMIT        = 0x1 <<  4,
0029     BULK_SCATTER       = 0x1 <<  5,
0030     SURFACE_DETECT     = 0x1 <<  6,
0031     SURFACE_ABSORB     = 0x1 <<  7,
0032     SURFACE_DREFLECT   = 0x1 <<  8,
0033     SURFACE_SREFLECT   = 0x1 <<  9,
0034     BOUNDARY_REFLECT   = 0x1 << 10,
0035     BOUNDARY_TRANSMIT  = 0x1 << 11,
0036     NAN_ABORT          = 0x1 << 12,
0037     EFFICIENCY_COLLECT = 0x1 << 13,
0038     EFFICIENCY_CULL    = 0x1 << 14,
0039     MISS               = 0x1 << 15,
0040     __NATURAL          = 0x1 << 16,
0041     __MACHINERY        = 0x1 << 17,
0042     __EMITSOURCE       = 0x1 << 18,
0043     PRIMARYSOURCE      = 0x1 << 19,
0044     GENSTEPSOURCE      = 0x1 << 20,
0045     DEFER_FSTRACKINFO  = 0x1 << 21
0046 };
0047 
0048 //
0049 // FFS(flag) for the above is 1,2,3,4 etc..
0050 // but that needs to fit within 4 bits for seq recording.
0051 // Due to this limitation moved the rarely seen MISS to 0x1 << 15
0052 // beyond seq recording to allow more important flags like
0053 // EFFICIENCY_COLLECT to be seq recorded. See sseq_test::truncation
0054 //
0055 // Could use FFS(flag)-1 to gain another item, but "guest"
0056 // flags of zero are a common bug that is useful to be able
0057 // to record into the seq.
0058 //
0059 
0060 
0061