Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:55:19

0001 //==========================================================================
0002 //  AIDA Detector description implementation 
0003 //--------------------------------------------------------------------------
0004 // Copyright (C) Organisation europeenne pour la Recherche nucleaire (CERN)
0005 // All rights reserved.
0006 //
0007 // For the licensing terms see $DD4hepINSTALL/LICENSE.
0008 // For the list of contributors see $DD4hepINSTALL/doc/CREDITS.
0009 //
0010 // Author     : M.Frank
0011 //
0012 //==========================================================================
0013 #ifndef DDCAD_INPUTREADER_H
0014 #define DDCAD_INPUTREADER_H
0015 
0016 // Framework include files
0017 #include <DD4hep/config.h>
0018 
0019 /// ROOT include files
0020 #include <TGeoVolume.h>
0021 #include <TGeoTessellated.h>
0022 
0023 /// C/C++ include files
0024 #include <string>
0025 #include <vector>
0026 #include <memory>
0027 
0028 /// Namespace for the AIDA detector description toolkit
0029 namespace dd4hep {
0030 
0031   /// Forward declarations
0032   class Detector;
0033   
0034   /// Namespace for implementation details of the AIDA detector description toolkit
0035   namespace cad  {
0036 
0037     /// Interface of the reader class to input geometry shapes from CAD files
0038     /**
0039      *
0040      *  \author  M.Frank
0041      *  \version 1.0
0042      *  \ingroup DD4HEP_DDCAD
0043      */
0044     class InputReader   {
0045     public:
0046       /// Reference to the detector object
0047       Detector& detector;
0048       
0049     public:
0050       /// Default constructor
0051       InputReader(Detector& detector);
0052 
0053       /// Default destructor
0054       virtual ~InputReader();
0055 
0056       /// Read input file
0057       virtual std::vector<std::unique_ptr<TGeoTessellated> >
0058       readShapes(const std::string& source, double unit_length)  const  = 0;
0059 
0060       /// Read input file and create a volume-set
0061       virtual std::vector<std::unique_ptr<TGeoVolume> >
0062       readVolumes(const std::string& source, double unit_length)  const = 0;
0063     };
0064     
0065   }        /* End namespace cad                      */
0066 }          /* End namespace dd4hep                   */
0067 #endif // DDCAD_INPUTREADER_H