Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2024-11-15 09:43:59

0001 /*
0002  * Copyright (c) 2014-2024 Key4hep-Project.
0003  *
0004  * This file is part of Key4hep.
0005  * See https://key4hep.github.io/key4hep-doc/ for further info.
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 #ifndef IGEOSVC_H
0021 #define IGEOSVC_H
0022 
0023 #include "GaudiKernel/IService.h"
0024 
0025 namespace dd4hep {
0026   class Detector;
0027   class DetElement;
0028 }  // namespace dd4hep
0029 
0030 class G4VUserDetectorConstruction;
0031 
0032 class GAUDI_API IGeoSvc : virtual public IService {
0033 public:
0034   DeclareInterfaceID(IGeoSvc, 1, 0);
0035   virtual dd4hep::DetElement           getDD4HepGeo()                            = 0;
0036   virtual dd4hep::Detector*            getDetector()                             = 0;
0037   virtual G4VUserDetectorConstruction* getGeant4Geo()                            = 0;
0038   virtual std::string                  constantAsString(std::string const& name) = 0;
0039   virtual ~IGeoSvc() {}
0040 };
0041 
0042 #endif  // IGEOSVC_H