ATLAS Offline Software
Public Types | Public Member Functions | Public Attributes | Private Attributes | List of all members
PileUpEventInfo::SubEvent Class Reference

a triple allowing access to a sub-event More...

#include <PileUpEventInfo.h>

Collaboration diagram for PileUpEventInfo::SubEvent:

Public Types

typedef PileUpTimeEventIndex::time_type time_type
 
typedef PileUpTimeEventIndex::index_type index_type
 
typedef PileUpTimeEventIndex::PileUpType pileup_type
 
typedef std::list< SubEvent >::const_iterator const_iterator
 
typedef std::list< SubEvent >::iterator iterator
 

Public Member Functions

 SubEvent ()
 
 ~SubEvent ()
 
 SubEvent (const SubEvent &)
 
SubEventoperator= (const SubEvent &)
 
 SubEvent (SubEvent &&)
 
SubEventoperator= (SubEvent &&)
 
 SubEvent (time_type t, const EventInfo *pse, StoreGateSvc *psg)
 
 SubEvent (time_type t, index_type index, const EventInfo *pse, StoreGateSvc *psg)
 
 SubEvent (time_type t, index_type index, PileUpTimeEventIndex::PileUpType typ, const EventInfo *pse, StoreGateSvc *psg)
 
 SubEvent (time_type t, unsigned int BCID, index_type index, PileUpTimeEventIndex::PileUpType typ, const EventInfo &rse, StoreGateSvc *psg)
 
 SubEvent (time_type t, std::unique_ptr< EventInfo > pse, StoreGateSvc *psg)
 
 SubEvent (time_type t, index_type index, std::unique_ptr< EventInfo > pse, StoreGateSvc *psg)
 
 SubEvent (time_type t, index_type index, PileUpTimeEventIndex::PileUpType typ, std::unique_ptr< EventInfo > pse, StoreGateSvc *psg)
 
 SubEvent (time_type t, unsigned int BCID, index_type index, PileUpTimeEventIndex::PileUpType typ, std::unique_ptr< EventInfo > pse, StoreGateSvc *psg)
 
time_type time () const
 t0 wrto original event (hence original evt time == 0) More...
 
index_type index () const
 
unsigned int BCID () const
 
pileup_type type () const
 pileup event proveance More...
 

Public Attributes

EventInfopSubEvt
 redundant but handy e.g. for persist. FIXME OWNED COPY More...
 
StoreGateSvcpSubEvtSG
 the sub event store More...
 

Private Attributes

PileUpTimeEventIndex m_timeIndex
 

Detailed Description

a triple allowing access to a sub-event

Definition at line 52 of file PileUpEventInfo.h.

Member Typedef Documentation

◆ const_iterator

typedef std::list<SubEvent>::const_iterator PileUpEventInfo::SubEvent::const_iterator

Definition at line 97 of file PileUpEventInfo.h.

◆ index_type

typedef PileUpTimeEventIndex::index_type PileUpEventInfo::SubEvent::index_type

Definition at line 60 of file PileUpEventInfo.h.

◆ iterator

typedef std::list<SubEvent>::iterator PileUpEventInfo::SubEvent::iterator

Definition at line 98 of file PileUpEventInfo.h.

◆ pileup_type

typedef PileUpTimeEventIndex::PileUpType PileUpEventInfo::SubEvent::pileup_type

Definition at line 61 of file PileUpEventInfo.h.

◆ time_type

typedef PileUpTimeEventIndex::time_type PileUpEventInfo::SubEvent::time_type

Definition at line 59 of file PileUpEventInfo.h.

Constructor & Destructor Documentation

◆ SubEvent() [1/11]

PileUpEventInfo::SubEvent::SubEvent ( )

Definition at line 34 of file PileUpEventInfo.cxx.

35  :
36  m_timeIndex(0), //FIXME why 0?
37  pSubEvt(0), pSubEvtSG(0)
38 
39 {}

◆ ~SubEvent()

PileUpEventInfo::SubEvent::~SubEvent ( )

Definition at line 78 of file PileUpEventInfo.cxx.

78  {
79  delete pSubEvt;
80 }

◆ SubEvent() [2/11]

PileUpEventInfo::SubEvent::SubEvent ( const SubEvent rhs)

Definition at line 41 of file PileUpEventInfo.cxx.

41  :
42  m_timeIndex(rhs.m_timeIndex),
43  pSubEvt(0 == rhs.pSubEvt ? 0 : new EventInfo(*rhs.pSubEvt)),
44  pSubEvtSG(rhs.pSubEvtSG)
45 
46 {}

◆ SubEvent() [3/11]

PileUpEventInfo::SubEvent::SubEvent ( SubEvent &&  rhs)

Definition at line 59 of file PileUpEventInfo.cxx.

59  :
60  m_timeIndex(rhs.m_timeIndex),
61  pSubEvt(rhs.pSubEvt),
62  pSubEvtSG(rhs.pSubEvtSG) {
63  rhs.pSubEvt = 0;
64 }

◆ SubEvent() [4/11]

PileUpEventInfo::SubEvent::SubEvent ( time_type  t,
const EventInfo pse,
StoreGateSvc psg 
)

Definition at line 82 of file PileUpEventInfo.cxx.

84  :
85  m_timeIndex(t),
86  pSubEvt(0 == pse ? 0 : new EventInfo(*pse)),
87  pSubEvtSG(psg)
88 {}

◆ SubEvent() [5/11]

PileUpEventInfo::SubEvent::SubEvent ( time_type  t,
index_type  index,
const EventInfo pse,
StoreGateSvc psg 
)

Definition at line 90 of file PileUpEventInfo.cxx.

92  :
94  pSubEvt(0 == pse ? 0 : new EventInfo(*pse)),
95  pSubEvtSG(psg)
96 {}

◆ SubEvent() [6/11]

PileUpEventInfo::SubEvent::SubEvent ( time_type  t,
index_type  index,
PileUpTimeEventIndex::PileUpType  typ,
const EventInfo pse,
StoreGateSvc psg 
)

Definition at line 97 of file PileUpEventInfo.cxx.

100  :
101  m_timeIndex(t, index, typ),
102  pSubEvt(0 == pse ? 0 : new EventInfo(*pse)),
103  pSubEvtSG(psg)
104 {}

◆ SubEvent() [7/11]

PileUpEventInfo::SubEvent::SubEvent ( time_type  t,
unsigned int  BCID,
index_type  index,
PileUpTimeEventIndex::PileUpType  typ,
const EventInfo rse,
StoreGateSvc psg 
)

Definition at line 105 of file PileUpEventInfo.cxx.

109  :
110  m_timeIndex(t, index, typ),
111  pSubEvt(new EventInfo(rse)),
112  pSubEvtSG(psg) {
113  pSubEvt->event_ID()->set_bunch_crossing_id(BCID);
114 }

◆ SubEvent() [8/11]

PileUpEventInfo::SubEvent::SubEvent ( time_type  t,
std::unique_ptr< EventInfo pse,
StoreGateSvc psg 
)

Definition at line 116 of file PileUpEventInfo.cxx.

118  :
119  m_timeIndex(t),
120  pSubEvt(pse.release()),
121  pSubEvtSG(psg)
122 {}

◆ SubEvent() [9/11]

PileUpEventInfo::SubEvent::SubEvent ( time_type  t,
index_type  index,
std::unique_ptr< EventInfo pse,
StoreGateSvc psg 
)

Definition at line 124 of file PileUpEventInfo.cxx.

126  :
127  m_timeIndex(t, index),
128  pSubEvt(pse.release()),
129  pSubEvtSG(psg)
130 {}

◆ SubEvent() [10/11]

PileUpEventInfo::SubEvent::SubEvent ( time_type  t,
index_type  index,
PileUpTimeEventIndex::PileUpType  typ,
std::unique_ptr< EventInfo pse,
StoreGateSvc psg 
)

Definition at line 131 of file PileUpEventInfo.cxx.

134  :
135  m_timeIndex(t, index, typ),
136  pSubEvt(pse.release()),
137  pSubEvtSG(psg)
138 {}

◆ SubEvent() [11/11]

PileUpEventInfo::SubEvent::SubEvent ( time_type  t,
unsigned int  BCID,
index_type  index,
PileUpTimeEventIndex::PileUpType  typ,
std::unique_ptr< EventInfo pse,
StoreGateSvc psg 
)

Definition at line 139 of file PileUpEventInfo.cxx.

143  :
144  m_timeIndex(t, index, typ),
145  pSubEvt(pse.release()),
146  pSubEvtSG(psg) {
147  pSubEvt->event_ID()->set_bunch_crossing_id(BCID);
148 }

Member Function Documentation

◆ BCID()

unsigned int PileUpEventInfo::SubEvent::BCID ( ) const

Definition at line 151 of file PileUpEventInfo.cxx.

151  {
152  // Be sure to call const methods to avoid checker warnings.
153  return(0 == pSubEvt ? 0 : std::as_const(*pSubEvt).event_ID()->bunch_crossing_id());
154 }

◆ index()

index_type PileUpEventInfo::SubEvent::index ( ) const
inline

Definition at line 91 of file PileUpEventInfo.h.

91 {return m_timeIndex.index();}

◆ operator=() [1/2]

PileUpEventInfo::SubEvent & PileUpEventInfo::SubEvent::operator= ( const SubEvent rhs)

Definition at line 49 of file PileUpEventInfo.cxx.

49  {
50  if (this != &rhs) {
51  m_timeIndex = rhs.m_timeIndex;
52  pSubEvtSG = rhs.pSubEvtSG;
53  delete pSubEvt;
54  pSubEvt = (0 == rhs.pSubEvt ? 0 : new EventInfo(*rhs.pSubEvt));
55  }
56  return *this;
57 }

◆ operator=() [2/2]

PileUpEventInfo::SubEvent & PileUpEventInfo::SubEvent::operator= ( SubEvent &&  rhs)

Definition at line 67 of file PileUpEventInfo.cxx.

67  {
68  if (this != &rhs) {
69  m_timeIndex = rhs.m_timeIndex;
70  pSubEvtSG = rhs.pSubEvtSG;
71  delete pSubEvt;
72  pSubEvt = rhs.pSubEvt;
73  rhs.pSubEvt = 0;
74  }
75  return *this;
76 }

◆ time()

time_type PileUpEventInfo::SubEvent::time ( ) const
inline

t0 wrto original event (hence original evt time == 0)

Definition at line 90 of file PileUpEventInfo.h.

90 {return m_timeIndex.time();}

◆ type()

pileup_type PileUpEventInfo::SubEvent::type ( ) const
inline

pileup event proveance

Definition at line 95 of file PileUpEventInfo.h.

95 {return m_timeIndex.type();}

Member Data Documentation

◆ m_timeIndex

PileUpTimeEventIndex PileUpEventInfo::SubEvent::m_timeIndex
private

Definition at line 54 of file PileUpEventInfo.h.

◆ pSubEvt

EventInfo* PileUpEventInfo::SubEvent::pSubEvt

redundant but handy e.g. for persist. FIXME OWNED COPY

Definition at line 56 of file PileUpEventInfo.h.

◆ pSubEvtSG

StoreGateSvc* PileUpEventInfo::SubEvent::pSubEvtSG

the sub event store

Definition at line 57 of file PileUpEventInfo.h.


The documentation for this class was generated from the following files:
PileUpEventInfo::SubEvent::pSubEvt
EventInfo * pSubEvt
redundant but handy e.g. for persist. FIXME OWNED COPY
Definition: PileUpEventInfo.h:56
index
Definition: index.py:1
PileUpTimeEventIndex::index
index_type index() const
the index of the component event in PileUpEventInfo
Definition: PileUpTimeEventIndex.cxx:76
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
PileUpEventInfo::SubEvent::BCID
unsigned int BCID() const
Definition: PileUpEventInfo.cxx:151
EventInfo::event_ID
EventID * event_ID()
the unique identification of the event.
Definition: EventInfo/EventInfo/EventInfo.h:224
EventInfo::EventInfo
EventInfo()
Definition: EventInfo.cxx:21
PileUpEventInfo::SubEvent::m_timeIndex
PileUpTimeEventIndex m_timeIndex
Definition: PileUpEventInfo.h:54
PileUpTimeEventIndex::time
time_type time() const
bunch xing time in ns
Definition: PileUpTimeEventIndex.cxx:71
EventInfo
This class provides general information about an event. Event information is provided by the accessor...
Definition: EventInfo/EventInfo/EventInfo.h:43
PileUpTimeEventIndex::type
PileUpType type() const
the pileup type - minbias, cavern, beam halo, signal?
Definition: PileUpTimeEventIndex.cxx:81
PileUpEventInfo::SubEvent::pSubEvtSG
StoreGateSvc * pSubEvtSG
the sub event store
Definition: PileUpEventInfo.h:57