ATLAS Offline Software
IModuleStepper.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // IModuleStepper.h, (c) ATLAS Detector software
8 
9 #ifndef TRKDIGINTERFACES_IMODULESTEPPER_H
10 #define TRKDIGINTERFACES_IMODULESTEPPER_H
11 
12 // Gaudi
13 #include "GaudiKernel/IAlgTool.h"
14 // Trk
16 //STL
17 #include <vector>
18 
19 namespace Trk {
20 
21  class DigitizationModule;
22 
24  static const InterfaceID IID_IModuleStepper("IModuleStepper", 1, 0);
25 
32  class IModuleStepper : virtual public IAlgTool {
33 
34  public:
36  virtual ~IModuleStepper(){}
37 
39  static const InterfaceID& interfaceID() { return IID_IModuleStepper; }
40 
42  virtual std::vector<DigitizationStep> cellSteps(const DigitizationModule& dmodule,
43  const Amg::Vector3D& startPosition,
44  const Amg::Vector3D& endPosition) const = 0;
45 
46 
48  virtual std::vector<DigitizationStep> cellSteps(const DigitizationModule& dmodule,
50  const Amg::Vector3D& direction) const = 0;
51 
52  };
53 
54 } // end of namespace
55 
56 #endif // TRKDIGINTERFACES_IMODULESTEPPER_H
Trk::IModuleStepper::interfaceID
static const InterfaceID & interfaceID()
AlgTool and IAlgTool interface methods.
Definition: IModuleStepper.h:39
Amg::Vector2D
Eigen::Matrix< double, 2, 1 > Vector2D
Definition: GeoPrimitives.h:48
Trk::DigitizationModule
Definition: DigitizationModule.h:50
intersection
std::vector< std::string > intersection(std::vector< std::string > &v1, std::vector< std::string > &v2)
Definition: compareFlatTrees.cxx:25
Trk::IModuleStepper::cellSteps
virtual std::vector< DigitizationStep > cellSteps(const DigitizationModule &dmodule, const Amg::Vector2D &intersection, const Amg::Vector3D &direction) const =0
calculate the steps caused by this track - fast simulation interface
Trk::IModuleStepper
Definition: IModuleStepper.h:32
Trk::IModuleStepper::cellSteps
virtual std::vector< DigitizationStep > cellSteps(const DigitizationModule &dmodule, const Amg::Vector3D &startPosition, const Amg::Vector3D &endPosition) const =0
calculate the steps caused by this strack - full simulation interface
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
DigitizationCell.h
Trk::IModuleStepper::~IModuleStepper
virtual ~IModuleStepper()
Virtual destructor.
Definition: IModuleStepper.h:36