Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-30 10:26:17

0001 /// @file GenericPolyconeSection.h
0002 /// @author Raman Sehgal (raman.sehgal@cern.ch)
0003 
0004 #ifndef VECGEOM_GENERICPOLYCONESECTION_H_
0005 #define VECGEOM_GENERICPOLYCONESECTION_H_
0006 
0007 #include "VecGeom/volumes/ConeStruct.h"
0008 #include "VecGeom/volumes/CoaxialConesStruct.h"
0009 
0010 namespace vecgeom {
0011 
0012 // helper structure to encapsulate a section
0013 VECGEOM_DEVICE_FORWARD_DECLARE(struct GenericPolyconeSection;);
0014 VECGEOM_DEVICE_DECLARE_CONV(struct, GenericPolyconeSection);
0015 
0016 inline namespace VECGEOM_IMPL_NAMESPACE {
0017 
0018 struct GenericPolyconeSection {
0019   VECCORE_ATT_HOST_DEVICE
0020   GenericPolyconeSection() : fCoaxialCones(0), fShift(0.0), fTubular(0), fConvex(0) {}
0021 
0022   VECCORE_ATT_HOST_DEVICE
0023   ~GenericPolyconeSection() {}
0024 
0025   CoaxialConesStruct<Precision> *fCoaxialCones;
0026   double fShift;
0027   bool fTubular;
0028   bool fConvex; // TRUE if all points in section are concave in regards to whole polycone, will be determined
0029 };
0030 } // namespace VECGEOM_IMPL_NAMESPACE
0031 } // namespace vecgeom
0032 
0033 #endif