ATLAS Offline Software
ITRT_SimDriftTimeTool.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 // //
7 // Class: ITRT_SimDriftTimeTool //
8 // //
9 // Author: Thomas Kittelmann //
10 // //
11 // First Version: January 2006 //
12 // //
14 
15 #ifndef ITRT_SIMDRIFTTIMETOOL_H
16 #define ITRT_SIMDRIFTTIMETOOL_H
17 
18 #include "GaudiKernel/IAlgTool.h"
19 
20 // Declaration of the interface ID ( interface id, major version, minor version)
21 static const InterfaceID IID_ITRT_SimDriftTimeTool("ITRT_SimDriftTimeTool", 1 , 0);
22 
23 //
24 // @class ITRT_SimDriftTimeTool ITRT_SimDriftTimeTool.h
25 // Give an AlgTool interface to Drift Times for digitization
26 //
27 // @author Thomas Kittelmann <kittel@nbi.dk>
28 //
29 
30 class ITRT_SimDriftTimeTool : virtual public IAlgTool {
31 
32 public:
33 
34  // Retrieve interface ID
35  static const InterfaceID& interfaceID() { return IID_ITRT_SimDriftTimeTool; }
36 
37  //The drifttime depends on the external (solenoidal) field (and is
38  //possibly different for barrel/endcap).
39 
40  //This is the average drift time for a certain distance
41  virtual double getAverageDriftTime( const double& dist,
42  const double& effectivefield_squared,
43  int strawGasType = 0) const = 0;
44 
45  // NB: The passed field value should be the magnitude of the field
46  // component that is orthogonal to the local straw E-field.
47  // It is assumed that the field in the barrel is parallel to the
48  // wires and that the field in the endcap is orthogonal to them.
49  // Magnetic field mapping provides details.
50 };
51 
52 #endif
ITRT_SimDriftTimeTool::interfaceID
static const InterfaceID & interfaceID()
Definition: ITRT_SimDriftTimeTool.h:35
ITRT_SimDriftTimeTool::getAverageDriftTime
virtual double getAverageDriftTime(const double &dist, const double &effectivefield_squared, int strawGasType=0) const =0
ITRT_SimDriftTimeTool
Definition: ITRT_SimDriftTimeTool.h:30