Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-12-16 10:19:17

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 #ifndef RECINTERFACE_ICELLPOSITIONSTOOL_H
0020 #define RECINTERFACE_ICELLPOSITIONSTOOL_H
0021 
0022 // Gaudi
0023 #include "GaudiKernel/IAlgTool.h"
0024 
0025 // DD4hep
0026 #include "DD4hep/Detector.h"
0027 
0028 namespace edm4hep {
0029 class CalorimeterHit;
0030 class CalorimeterHitCollection;
0031 } // namespace edm4hep
0032 
0033 /** @class ICellPositionsTool
0034  *
0035  *  Abstract interface to FCChh calorimeter cell positions.
0036  *
0037  *  @author Coralie Neubueser
0038  *  @date   2018-01
0039  */
0040 
0041 class ICellPositionsTool : virtual public IAlgTool {
0042 public:
0043   DeclareInterfaceID(ICellPositionsTool, 1, 0);
0044 
0045   virtual void getPositions(const edm4hep::CalorimeterHitCollection& aCells,
0046                             edm4hep::CalorimeterHitCollection& outputColl) = 0;
0047 
0048   virtual dd4hep::Position xyzPosition(const uint64_t& aCellId) const = 0;
0049   virtual int layerId(const uint64_t& aCellId) = 0;
0050 };
0051 
0052 #endif /* RECINTERFACE_ICELLPOSITIONSTOOL_H */