ATLAS Offline Software
Loading...
Searching...
No Matches
ISignalState.h
Go to the documentation of this file.
1
2
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
25
27
28 enum State {
29 UNKNOWN = -1,
30 UNCALIBRATED = 0, // calorimeter signals
33 JETEMSCALE = 0, // jet signals
36};
37
40
42{
43public:
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
60protected:
61
64
66 virtual void resetSignalState() = 0;
67
69 friend class SignalStateHelper;
71
72};
73#endif
ISignalState is an abstract base class providing support for various Signal States to be associated w...
friend class SignalStateHelper
make friends!
virtual bool setSignalState(P4SignalState::State s)=0
set the current signal state
virtual P4SignalState::State signalState() const =0
obtain the current signal state
friend class SignalStateConstHelper
virtual void resetSignalState()=0
reset the signal state
virtual bool isAtSignalState(P4SignalState::State s) const =0
check if we are at the passed state
virtual CLHEP::HepLorentzVector hlv(P4SignalState::State s) const =0
obtain the CLHEP HepLorentzVector
virtual ~ISignalState()
virtual destructor needed
virtual bool hasSignalState(P4SignalState::State s) const =0
check if signal state exists for current implementation
Simple helper class which allows "safe" signal state switching.
Simple helper class which allows "safe" signal state switching.