ATLAS Offline Software
ISignalState.h
Go to the documentation of this file.
1 
3 /*
4  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 #ifndef EVENTKERNEL_ISIGNALSTATE_H
8 #define EVENTKERNEL_ISIGNALSTATE_H
9 
10 #include "CLHEP/Vector/LorentzVector.h"
11 
26 struct P4SignalState {
27 
28  enum State {
29  UNKNOWN = -1,
30  UNCALIBRATED = 0, // calorimeter signals
33  JETEMSCALE = 0, // jet signals
34  JETFINAL = 1,
36 };
37 
38 class SignalStateHelper;
40 
42 {
43 public:
44 
46  virtual ~ISignalState();
47 
49  virtual P4SignalState::State signalState() const = 0;
50 
52  virtual CLHEP::HepLorentzVector hlv(P4SignalState::State s) const = 0;
53 
55  virtual bool hasSignalState(P4SignalState::State s) const = 0;
56 
58  virtual bool isAtSignalState(P4SignalState::State s) const = 0;
59 
60 protected:
61 
64 
66  virtual void resetSignalState() = 0;
67 
69  friend class SignalStateHelper;
70  friend class SignalStateConstHelper;
71 
72 };
73 #endif
ISignalState::hlv
virtual CLHEP::HepLorentzVector hlv(P4SignalState::State s) const =0
obtain the CLHEP HepLorentzVector
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
ISignalState::isAtSignalState
virtual bool isAtSignalState(P4SignalState::State s) const =0
check if we are at the passed state
ISignalState::resetSignalState
virtual void resetSignalState()=0
reset the signal state
ISignalState
Definition: ISignalState.h:42
P4SignalState::JETEMSCALE
@ JETEMSCALE
Definition: ISignalState.h:33
SignalStateConstHelper
Definition: SignalStateHelper.h:75
P4SignalState::UNKNOWN
@ UNKNOWN
Definition: ISignalState.h:29
ISignalState::signalState
virtual P4SignalState::State signalState() const =0
obtain the current signal state
P4SignalState
Definition: ISignalState.h:26
SignalStateHelper
Definition: SignalStateHelper.h:25
P4SignalState::JETCONSTITUENTSCALE
@ JETCONSTITUENTSCALE
Definition: ISignalState.h:35
P4SignalState::UNCALIBRATED
@ UNCALIBRATED
Definition: ISignalState.h:30
ISignalState::hasSignalState
virtual bool hasSignalState(P4SignalState::State s) const =0
check if signal state exists for current implementation
P4SignalState::JETFINAL
@ JETFINAL
Definition: ISignalState.h:34
ISignalState::~ISignalState
virtual ~ISignalState()
virtual destructor needed
Definition: ISignalState.cxx:28
P4SignalState::State
State
Definition: ISignalState.h:28
ISignalState::setSignalState
virtual bool setSignalState(P4SignalState::State s)=0
set the current signal state
P4SignalState::CALIBRATED
@ CALIBRATED
Definition: ISignalState.h:31
P4SignalState::ALTCALIBRATED
@ ALTCALIBRATED
Definition: ISignalState.h:32