ATLAS Offline Software
IL1CaloTTIdTools.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
3 */
4 // ***************************************************************************
5 // * Author: John Morris (john.morris@cern.ch) *
6 // * Queen Mary University of London *
7 // * *
8 
9 //
10 // Pure abstract base class interface to L1CaloTTIdTools
11 //
12 
13 #ifndef _TRIGGER_TRIGT1_TRIGT1CALOCALIBTOOLINTERFACES_IL1CALOTTIDTOOLS_H_
14 #define _TRIGGER_TRIGT1_TRIGT1CALOCALIBTOOLINTERFACES_IL1CALOTTIDTOOLS_H_
15 
16 // Framework include(s):
17 #include "AsgTools/IAsgTool.h"
18 
19 #include <map>
20 
21 class HWIdentifier;
22 class Identifier;
23 namespace LVL1{
24  class InternalTriggerTower;
25 }
26 
27 namespace LVL1{
28 
29  class IL1CaloTTIdTools : virtual public asg::IAsgTool{
30 
33 
34  public:
35 
36  virtual int side (const HWIdentifier& id) = 0;
37  virtual int sampling (const HWIdentifier& id) = 0;
38  virtual int region (const HWIdentifier& id) = 0;
39  virtual int eta (const HWIdentifier& id) = 0;
40  virtual int phi (const HWIdentifier& id) = 0;
41  virtual int layer (const HWIdentifier& id) = 0;
42  virtual int PPM_type (const HWIdentifier& id) = 0;
43 
44  virtual int module_type(const HWIdentifier& id) = 0;
45  virtual int barrel_endcap_fcal(const HWIdentifier& id) = 0;
46 
47  // to get eta/phi position from the offline TT Id fields
48  virtual double IDeta(const Identifier& id) const = 0;
49  virtual double IDphi(const Identifier& id) const = 0;
50 
51  virtual LVL1::InternalTriggerTower* findInternalTriggerTower(std::map<unsigned int, LVL1::InternalTriggerTower*>* pIntTTContainer, const Identifier& towerId, bool bCreate = true) = 0;
52  virtual LVL1::InternalTriggerTower* findInternalTriggerTower(std::map<unsigned int, LVL1::InternalTriggerTower*>* pIntTTContainer, double tt_phi, double tt_eta, unsigned int key, bool bCreate = true) = 0;
53 
54 
55  virtual double etaWidth(double eta) const = 0;
56  virtual double phiWidth(double eta) const = 0;
57  virtual int pos_neg_z(double eta) const = 0;
58  virtual int regionIndex(double eta) const = 0;
59  virtual int etaIndex(double eta) const = 0;
60  virtual int phiIndex(double eta, double phi) const = 0;
61 
62  };
63 } // end of namespace
64 #endif
LVL1::IL1CaloTTIdTools::module_type
virtual int module_type(const HWIdentifier &id)=0
LVL1::IL1CaloTTIdTools::PPM_type
virtual int PPM_type(const HWIdentifier &id)=0
LVL1::IL1CaloTTIdTools::IDeta
virtual double IDeta(const Identifier &id) const =0
LVL1::IL1CaloTTIdTools::IDphi
virtual double IDphi(const Identifier &id) const =0
asg::IAsgTool
Base class for the dual-use tool interface classes.
Definition: IAsgTool.h:41
LVL1::IL1CaloTTIdTools::side
virtual int side(const HWIdentifier &id)=0
Declare the interface that the class provides.
LVL1::IL1CaloTTIdTools::barrel_endcap_fcal
virtual int barrel_endcap_fcal(const HWIdentifier &id)=0
LVL1::IL1CaloTTIdTools
Definition: IL1CaloTTIdTools.h:29
HWIdentifier
Definition: HWIdentifier.h:13
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
LVL1::IL1CaloTTIdTools::regionIndex
virtual int regionIndex(double eta) const =0
LVL1::IL1CaloTTIdTools::pos_neg_z
virtual int pos_neg_z(double eta) const =0
LVL1::IL1CaloTTIdTools::sampling
virtual int sampling(const HWIdentifier &id)=0
LVL1::IL1CaloTTIdTools::findInternalTriggerTower
virtual LVL1::InternalTriggerTower * findInternalTriggerTower(std::map< unsigned int, LVL1::InternalTriggerTower * > *pIntTTContainer, double tt_phi, double tt_eta, unsigned int key, bool bCreate=true)=0
LVL1::IL1CaloTTIdTools::region
virtual int region(const HWIdentifier &id)=0
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
LVL1::IL1CaloTTIdTools::phi
virtual int phi(const HWIdentifier &id)=0
LVL1::IL1CaloTTIdTools::etaIndex
virtual int etaIndex(double eta) const =0
LVL1::IL1CaloTTIdTools::etaWidth
virtual double etaWidth(double eta) const =0
ASG_TOOL_INTERFACE
#define ASG_TOOL_INTERFACE(CLASSNAME)
Definition: AsgToolMacros.h:40
IAsgTool.h
LVL1::InternalTriggerTower
A version of the TriggerTower that contains information that would not be availiable during datatakin...
Definition: InternalTriggerTower.h:31
LVL1::IL1CaloTTIdTools::layer
virtual int layer(const HWIdentifier &id)=0
LVL1::IL1CaloTTIdTools::findInternalTriggerTower
virtual LVL1::InternalTriggerTower * findInternalTriggerTower(std::map< unsigned int, LVL1::InternalTriggerTower * > *pIntTTContainer, const Identifier &towerId, bool bCreate=true)=0
LVL1::IL1CaloTTIdTools::phiIndex
virtual int phiIndex(double eta, double phi) const =0
LVL1::IL1CaloTTIdTools::phiWidth
virtual double phiWidth(double eta) const =0
LVL1::IL1CaloTTIdTools::eta
virtual int eta(const HWIdentifier &id)=0
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37