Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
IFPGATrackSimBinDesc.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
2 
3 #ifndef IFPGATrackSimBinDesc_H
4 #define IFPGATrackSimBinDesc_H
5 
24 #include "GaudiKernel/IAlgTool.h"
25 
28 
30 
31 #include <string>
32 
33 // Use IdxSet and ParSet from FPGATrackSimUtil
38 
39 //-------------------------------------------------------------------------------------------------------
40 // BinnedHits
41 // Nomenclature:
42 // parameter = parameter of track e.g. (pT,eta,phi,d0,z0) but could be
43 // in different coordinates
44 // such at in the keylayer format where its
45 // (z_in,z_out,phi_in,phi_out,x_m)
46 // bin = a bin in the full parameters space (upto 5-d)
47 // subbin = a binning used as part of the total binning e.g. only in
48 // (pT,phi) or only in (z_in,z_out)
49 //-------------------------------------------------------------------------------------------------------
50 class IFPGATrackSimBinDesc : virtual public IAlgTool {
51 public:
53 
54  //--------------------------------------------------------------------------------------------------
55  //
56  // Virtual methods that are overloaded to define the binning
57  //
58  //--------------------------------------------------------------------------------------------------
59 
60  // Specification of parameters
61  virtual const std::string &parNames(unsigned i) const = 0;
62 
63  // convert back and forth from pT, eta, phi, d0, z0 and internal paramater set
64  virtual const ParSet trackParsToParSet(const FPGATrackSimTrackPars &pars) const = 0;
65  virtual const FPGATrackSimTrackPars parSetToTrackPars(const ParSet &parset) const = 0;
66 
67  // calculate the distance in phi or eta from a track defined by parset to a hit
68  // these can be implemented as any variable in the r-phi or r-eta plane (not necessarily eta and phi).
69  virtual double phiResidual(const ParSet &parset, FPGATrackSimHit const *hit) const = 0;
70  virtual double etaResidual(const ParSet &parset, FPGATrackSimHit const *hit) const = 0;
71 
72  // idx should be with the definition specifed in the step
73  // NOTE: the stored hit may be modified!
74  virtual bool hitInBin(const FPGATrackSimBinStep &step, const IdxSet &idx,
75  StoredHit& storedhit) const = 0;
76 
77 private:
78 
79 };
80 
81 #endif // IFPGATrackSimBinDesc_H
make_hlt_rep.pars
pars
Definition: make_hlt_rep.py:90
FPGATrackSimBinStep
Definition: FPGATrackSimBinStep.h:49
FPGATrackSimTrackPars
Definition: FPGATrackSimTrackPars.h:22
FPGATrackSimHit
Definition: FPGATrackSimHit.h:41
lumiFormat.i
int i
Definition: lumiFormat.py:85
FPGATrackSimBinUtil.h
Binning Utilities for GenScanTool.
IFPGATrackSimBinDesc::parNames
virtual const std::string & parNames(unsigned i) const =0
IFPGATrackSimBinDesc::DeclareInterfaceID
DeclareInterfaceID(IFPGATrackSimBinDesc, 1, 0)
IFPGATrackSimBinDesc::etaResidual
virtual double etaResidual(const ParSet &parset, FPGATrackSimHit const *hit) const =0
FPGATrackSimBinUtil::ParSet
Definition: FPGATrackSimBinUtil.h:45
IFPGATrackSimBinDesc::trackParsToParSet
virtual const ParSet trackParsToParSet(const FPGATrackSimTrackPars &pars) const =0
FPGATrackSimBinUtil::StoredHit
Definition: FPGATrackSimBinUtil.h:90
FPGATrackSimHit.h
: FPGATrackSim-specific class to represent an hit in the detector.
IFPGATrackSimBinDesc::parSetToTrackPars
virtual const FPGATrackSimTrackPars parSetToTrackPars(const ParSet &parset) const =0
IFPGATrackSimBinDesc::phiResidual
virtual double phiResidual(const ParSet &parset, FPGATrackSimHit const *hit) const =0
IFPGATrackSimBinDesc
Definition: IFPGATrackSimBinDesc.h:50
LArNewCalib_DelayDump_OFC_Cali.idx
idx
Definition: LArNewCalib_DelayDump_OFC_Cali.py:69
LArCellBinning.step
step
Definition: LArCellBinning.py:158
FPGATrackSimBinUtil::IdxSet
Definition: FPGATrackSimBinUtil.h:50
FPGATrackSimTrackPars.h
Structs that store the 5 track parameters.
IFPGATrackSimBinDesc::hitInBin
virtual bool hitInBin(const FPGATrackSimBinStep &step, const IdxSet &idx, StoredHit &storedhit) const =0