ATLAS Offline Software
Loading...
Searching...
No Matches
CaloClusterChangeSignalState.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
5//Dear emacs this is -*-c++-*-
6#ifndef XAODCALOCLUSTERCHANGESIGNALSTATE
7#define XAODCALOCLUSTERCHANGESIGNALSTATE
8
10
51
52
53#include <forward_list>
54
62
63 public:
70 m_stateHelpers.emplace_front(clu,s);
71 }
72
78
79 void reset() {
80 m_stateHelpers.clear();
81 }
82
83 private:
84 //As far as I can see this is the only stl container that doesn't require the payload to be
85 //copy-constructable.
86 std::forward_list<CaloClusterChangeSignalState> m_stateHelpers;
87
88};
89
90#endif
Helper to temporarily change the signal state of many clusters.
void add(xAOD::CaloCluster *clu, xAOD::CaloCluster::State s)
Add one cluster to the list of clusters to be managed.
std::forward_list< CaloClusterChangeSignalState > m_stateHelpers
void reset()
Revert the signal state of all managed clusters.
xAOD::CaloCluster * m_clus
The cluster that we're managing.
CaloClusterChangeSignalState(const CaloClusterChangeSignalState &)=delete
const xAOD::CaloCluster * cluster()
Return a ptr to the cluster we are managing.
CaloClusterChangeSignalState & operator=(const CaloClusterChangeSignalState &)=delete
xAOD::CaloCluster::State m_oldstate
The previous signal state for the cluster.
State
enum of possible signal states.
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.