ATLAS Offline Software
Loading...
Searching...
No Matches
IBeamIntensity.h
Go to the documentation of this file.
1/* -*- C++ -*- */
2
3/*
4 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
5*/
6
7#ifndef PILEUPTOOLS_IBEAMINTENSITY_H
8#define PILEUPTOOLS_IBEAMINTENSITY_H
15
16#include "GaudiKernel/IService.h"
17class IBeamIntensity : virtual public IService {
18public:
21 virtual float normFactor(int bunchXing) const = 0;
22
25 virtual float largestElementInPattern() const = 0;
26
29 virtual void selectT0(unsigned int run, unsigned long long event) =0;
30
32 virtual unsigned int getCurrentT0BunchCrossing() const =0;
33
35 virtual unsigned int getBeamPatternLength() const =0;
36
39};
40#endif // PILEUPTOOLS_IBEAMINTENSITY_H
virtual unsigned int getCurrentT0BunchCrossing() const =0
return the bunch crossing selected to be the current t0 bunch crossing
DeclareInterfaceID(IBeamIntensity, 1, 0)
Creates the InterfaceID and interfaceID() method.
virtual unsigned int getBeamPatternLength() const =0
return the length of the beam pattern
virtual float largestElementInPattern() const =0
the largest element in the beam intensity pattern.
virtual void selectT0(unsigned int run, unsigned long long event)=0
randomly select in which bunch the current t0 is wrto the beam intensity distribution.
virtual float normFactor(int bunchXing) const =0
a scale factor (average value 1.0) for the beam intensity at a given xing.
Definition run.py:1