Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-03 08:20:53

0001 // -*- c++ -*-
0002 #ifndef __TESTEVENTITERATOR_H__
0003 #define __TESTEVENTITERATOR_H__
0004 
0005 #include "Eventiterator.h"
0006 
0007 #include "simpleRandom.h"
0008 
0009 /** The testEventiterator creates Event objects with known properties
0010    from scratch. The events contain 1 frame and 3 packets. The first 2
0011    packets with id's 1001 and 1002 look like ADC's whose channel i
0012    contains the value i, which can be used to verify that a certain
0013    channel actually ends up where it should. The third packet 1003
0014    has four channels which give values according to gaussian distributions 
0015    with RMS 10,100,1000, and 10000, respectively. 
0016 */
0017 #ifndef __CINT__
0018 class WINDOWSEXPORT testEventiterator : public Eventiterator {
0019 #else
0020 class  testEventiterator : public Eventiterator {
0021 #endif
0022 public:
0023   /// The constructor.
0024   testEventiterator();
0025   /// The destructor.
0026   ~testEventiterator();
0027 
0028   const char * getIdTag() const;
0029   //#ifdef WIN32
0030   virtual void identify(std::ostream& os = std::cout) const;
0031 
0032 
0033 /**
0034    this member function creates returns a pointer to the Event object
0035    (this iterator does not become empty).
0036 */   
0037   Event *getNextEvent();
0038 
0039 private:
0040 #ifndef WIN32
0041   simpleRandom *R;
0042 #endif
0043   int current_event;
0044   
0045   // these are the spots where we change anything per event later
0046   int *e_sequence;
0047   int *e_time;
0048   int *e_1003values;
0049   
0050   // we get somememory to generate the event
0051   int e_data[256]; 
0052   
0053 };
0054 
0055 #endif /* __TESTEVENTITERATOR_H__ */
0056