Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

AlEvent.h

Go to the documentation of this file.
00001 
00002 //
00003 // CLASS AlEvent 
00004 // Concrete class for AlEvent Object 
00005 //
00007  
00008 
00009 #ifndef _ALEVENT_H_
00010 #define _ALEVENT_H_
00011 
00012 #include "BankClasses.h"
00013 class TimeInfo;
00014 class AlRun;
00015 
00016 class AlEvent {
00017 
00018 public:
00019   
00021   AlEvent();
00022 
00024   AlEvent(const AlEvent&);
00025 
00027   TimeInfo Time() const;
00028 
00030   int number() const;
00031 
00033   int type()const;
00034 
00036   int EdirClass()const;
00037 
00039   int ErrorStatus()const;
00040 
00042   float Energy()const;
00043 
00045   float gen_e12(float qelep)const;
00046 
00048   bool xlumok(float qelep, int mode = 0)const;
00049 
00051   bool IsTrigger(bool MINI)const;
00052 
00054   int GetRawTrigger()const;
00055 
00057   void SETqhac(QHAC*);
00058 
00060   QHAC* GETqhac() {return qhac;}
00061   
00062   KEVH* GeneratorStatus()const;
00063   vector<KWGT*>* GeneratorWeights()const;
00064   float getGeneratorWeight(int Number=0)const;
00065 
00066 private:
00067   // misc banks pointers
00068   EVEH* Header()const;
00069   REVH* ReconstructorHeader()const;
00070   vector<LOLE*>* LcalErrorFlags()const;
00071   vector<X1RG*>* Readout()const;
00072   BOMB* BeamPosition()const;
00073   vector<XTBN*>* TriggerBitNames()const;
00074   XTCN* TriggerLevelControl()const;
00075   XTOP* TriggerOptions()const;
00076   LUPA* LuminosityParameters()const;
00077   SILH* SicalLuminosityParameters()const;
00078   vector<XHVB*>* HVfixes()const;
00079   XTEB* TriggerLevelEventBitPattern()const;
00080   XTRB* TriggerLevelRegisterBitPattern()const;
00081   DTBP* TriggerBitPattern()const;
00082   vector<VHBV*>* VDETbit()const;
00083   vector<VHPV*>* NoHVbit()const;
00084   EAUX* ENFLWinfo()const;
00085   SIX2* SicalTriggerX2()const;
00086   vector<X1TV*>* Triggerlevel1Threshold()const;
00087   vector<X1IP*>* Triggerlevel1Input()const;
00088   vector<SIXA*>* SicalTriggerSectorsAdc()const;
00089   SITC* SicalTriggerConditions()const;
00090   vector<SRCO*>* SicalRunConditions()const;
00091   vector<X1TH*>* TriggerOldlevel1Threshold()const;
00092   vector<X1AD*>* Triggerlevel1Adc()const;
00093   // pointers to the banks
00094   QHAC* qhac;
00095   // functions internally used for e12 calculation
00096   float e12_produce(double thr, double c1, double c2, double c3, float qelep, float (AlEvent::*fp)(float x1) const)const;
00097   float r183_e12(float x1)const;
00098   float r189_e12(float x1)const;
00099   float r192_e12(float x1)const;
00100   float r196_e12(float x1)const;
00101   float r200_e12(float x1)const;
00102   float r202_e12(float x1)const;
00103   float r205_e12(float x1)const;
00104   float r207_e12(float x1)const;
00105   // functions internally used for xlumok calculation
00106   bool EnergyStability(float qelep)const;
00107   int EnabledTriggers()const;
00108   vector<bool> HVStatus()const;
00109   bool TimeSynchronization()const;
00110   bool LaserEvent()const;
00111   bool VDETstatus()const;
00112   // functions internally used for dectrg calculation
00113   void RedoTrigger()const;
00114   void RedoOldTrigger()const;
00115   void SimulateTrigger(int*,int*,int*,int*,int*)const;
00116   void SimulateOldTrigger(int*,int*,int*,int*,int*,int*,int*,int*,int*)const;
00117   void SimulateSicalTrigger()const;
00118   void ApplyTrigger(int*,int*,int*,int,int)const;
00119   void ApplyOldTrigger(int*,int*,int*BIT,int*,int*,int*,int)const;
00120   // STATIC members
00121   // SIsetup has to be static because it is defined only for the first event of the run
00122   static int SIsetup;
00123   // masks obtained from XTBN have to be static for the same reason.
00124   static int mask1, mask2, mask3, tmask;
00125 };
00126 
00127 #endif

Generated at Wed Jun 18 17:19:10 2003 for ALPHA++ by doxygen1.2.8.1 written by Dimitri van Heesch, © 1997-2001