|
ATLAS Offline Software
|
Go to the documentation of this file.
10 const int bcidi=
static_cast<int>(
bcid);
58 msg << MSG::ERROR <<
"BunchDistanceType not understood!" <<
endmsg;
83 msg << MSG::ERROR <<
"BunchDistanceType not understood!" <<
endmsg;
97 return std::pair<unsigned,unsigned>(0,0);
int gapAfterBunch(bcid_type bcid=0, BunchDistanceType type=NanoSec) const
Get the distance of the specified bunch crossing to the next filled bunch.
int distanceFromTail(const bcid_type bcid, const BunchDistanceType type=NanoSec) const
The distance of the specific bunch crossing from the tail of the train.
static constexpr int m_BUNCH_SPACING
static const int m_headTailLength
bool isUnpaired(const bcid_type bcid) const
Function deciding if a given bunch crossing has an unpaired bunch.
singleton-like access to IMessageSvc via open function and helper
int gapAfterTrain(bcid_type bcid=0, BunchDistanceType type=NanoSec) const
Gap after the train this BCID is in.
@ NanoSec
Distance in nanoseconds.
BunchCrossingType
Enumeration type for a given bunch crossing.
unsigned m_nColl
Last BCID of this train.
std::vector< bunchTrain_t > m_trains
int gapBeforeTrain(bcid_type bcid=0, BunchDistanceType type=NanoSec) const
Gap before the train this BCID is in.
std::bitset< m_MAX_BCID > m_beam1
std::bitset< m_MAX_BCID > m_luminous
int gapBeforeBunch(bcid_type bcid=0, BunchDistanceType type=NanoSec) const
Get the distance of the specified bunch crossing to the preceeding filled bunch.
BunchDistanceType
Enumeration specifying the units in which to expect the bunch distance type.
IMessageSvc * getMessageSvc(bool quiet=false)
@ FirstEmpty
The first empty bunch after a train.
@ Tail
The BCID belongs to the last few bunces in a train.
static constexpr int m_MAX_BCID
@ BunchCrossings
Distance in units of 25 nanoseconds.
int m_last
First BCID of this train.
@ MiddleEmpty
An empty BCID in the middle of a train.
unsigned int numberOfUnpairedBunches() const
Get the number of unpaired bunches in the current configuration.
int distanceFromFront(const bcid_type bcid, const BunchDistanceType type=NanoSec) const
The distance of the specific bunch crossing from the front of the train.
unsigned countColliding(int from, int to) const
Helper method to count colliding bunches in the range from-to.
@ FilledBunches
Distance in units of filled bunches (depends on filling scheme)
setEventNumber setTimeStamp bcid
@ Front
The BCID belongs to the first few bunches in a train.
bool isInTrain(const bcid_type bcid) const
Function deciding if a given bunch crossing is in a filled train.
@ Single
This is a filled, single bunch (not in a train)
@ Unpaired
This is an unpaired bunch (either beam1 or beam2)
BunchCrossingType bcType(const bcid_type bcid) const
Convenience function for the type of the specific bunch crossing.
const bunchTrain_t * findTrain(const bcid_type bcid) const
Helper method to find the train of a bcid (nullptr if bcd is not in a train)
Replaces the BunchCrossing AlgTool used in run1/2.
std::pair< unsigned, unsigned > bunchTrainPopulation(const bcid_type bcid) const
Get colliding and total bcids in a train.
std::bitset< m_MAX_BCID > m_beam2
float distance(const Amg::Vector3D &p1, const Amg::Vector3D &p2)
calculates the distance between two point in 3D space
@ Middle
The BCID belongs to the middle bunches in a train.
bool isFilled(const bcid_type bcid) const
The simplest query: Is the bunch crossing filled or not?
@ Empty
An empty bunch far away from filled bunches.