ATLAS Offline Software
Loading...
Searching...
No Matches
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
21class HWIdentifier;
22class Identifier;
23namespace LVL1{
25}
26
27namespace 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
#define ASG_TOOL_INTERFACE(CLASSNAME)
virtual int pos_neg_z(double eta) const =0
virtual double IDphi(const Identifier &id) const =0
virtual int barrel_endcap_fcal(const HWIdentifier &id)=0
virtual LVL1::InternalTriggerTower * findInternalTriggerTower(std::map< unsigned int, LVL1::InternalTriggerTower * > *pIntTTContainer, const Identifier &towerId, bool bCreate=true)=0
virtual int PPM_type(const HWIdentifier &id)=0
virtual int module_type(const HWIdentifier &id)=0
virtual int eta(const HWIdentifier &id)=0
virtual double phiWidth(double eta) const =0
virtual int region(const HWIdentifier &id)=0
virtual int regionIndex(double eta) const =0
virtual int phiIndex(double eta, double phi) const =0
virtual double etaWidth(double eta) const =0
virtual int etaIndex(double eta) const =0
virtual double IDeta(const Identifier &id) const =0
virtual int sampling(const HWIdentifier &id)=0
virtual int layer(const HWIdentifier &id)=0
virtual LVL1::InternalTriggerTower * findInternalTriggerTower(std::map< unsigned int, LVL1::InternalTriggerTower * > *pIntTTContainer, double tt_phi, double tt_eta, unsigned int key, bool bCreate=true)=0
virtual int side(const HWIdentifier &id)=0
Declare the interface that the class provides.
virtual int phi(const HWIdentifier &id)=0
A version of the TriggerTower that contains information that would not be availiable during datatakin...
Base class for the dual-use tool interface classes.
Definition IAsgTool.h:41
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...