00001 /* 00002 * File: DataFormats/Scalers/interface/L1TriggerScalers.h (W.Badgett) 00003 * 00004 * Various Level 1 Trigger Scalers from the GT/TS 00005 * 00006 */ 00007 00008 #ifndef DATAFORMATS_SCALERS_L1TRIGGERSCALERS_H 00009 #define DATAFORMATS_SCALERS_L1TRIGGERSCALERS_H 00010 00011 #include <ostream> 00012 #include <vector> 00013 00022 00023 00024 00025 class L1TriggerScalers 00026 { 00027 public: 00028 00029 enum 00030 { 00031 nL1Triggers = 128, 00032 nL1TestTriggers = 64 00033 }; 00034 00035 L1TriggerScalers(); 00036 L1TriggerScalers(const unsigned char * rawData); 00037 virtual ~L1TriggerScalers(); 00038 00040 std::string name() const { return "L1TriggerScalers"; } 00041 00043 bool empty() const { return false; } 00044 00045 // Data accessor methods 00046 int version() const { return(version_);} 00047 00048 unsigned int trigType() const { return(trigType_);} 00049 unsigned int eventID() const { return(eventID_);} 00050 unsigned int sourceID() const { return(sourceID_);} 00051 unsigned int bunchNumber() const { return(bunchNumber_);} 00052 00053 struct timespec collectionTimeSpecial() const 00054 { return(collectionTimeSpecial_);} 00055 00056 unsigned int orbitNumber() const 00057 { return(orbitNumber_);} 00058 unsigned int luminositySection() const 00059 { return(luminositySection_);} 00060 unsigned int bunchCrossingErrors() const 00061 { return(bunchCrossingErrors_);} 00062 00063 struct timespec collectionTimeSummary() const 00064 { return(collectionTimeSummary_);} 00065 00066 unsigned int triggerNumber() const 00067 { return(triggerNumber_);} 00068 unsigned int eventNumber() const 00069 { return(eventNumber_);} 00070 unsigned int finalTriggersDistributed() const 00071 { return(finalTriggersDistributed_);} 00072 unsigned int calibrationTriggers() const 00073 { return(calibrationTriggers_);} 00074 unsigned int randomTriggers() const 00075 { return(randomTriggers_);} 00076 unsigned int totalTestTriggers() const 00077 { return(totalTestTriggers_);} 00078 unsigned int finalTriggersGenerated() const 00079 { return(finalTriggersGenerated_);} 00080 unsigned int finalTriggersInvalidBC() const 00081 { return(finalTriggersInvalidBC_);} 00082 00083 unsigned long long deadTime() const 00084 { return(deadTime_);} 00085 unsigned long long lostFinalTriggers() const 00086 { return(lostFinalTriggers_);} 00087 unsigned long long deadTimeActive() const 00088 { return(deadTimeActive_);} 00089 unsigned long long lostFinalTriggersActive() const 00090 { return(lostFinalTriggersActive_);} 00091 00092 unsigned long long deadTimeActivePrivate() const 00093 { return(deadTimeActivePrivate_);} 00094 unsigned long long deadTimeActivePartition() const 00095 { return(deadTimeActivePartition_);} 00096 unsigned long long deadTimeActiveThrottle() const 00097 { return(deadTimeActiveThrottle_);} 00098 unsigned long long deadTimeActiveCalibration() const 00099 { return(deadTimeActiveCalibration_);} 00100 unsigned long long deadTimeActiveTimeSlot() const 00101 { return(deadTimeActiveTimeSlot_);} 00102 unsigned int numberResets() const 00103 { return(numberResets_);} 00104 00105 struct timespec collectionTimeDetails() const 00106 { return(collectionTimeDetails_);} 00107 00108 std::vector<unsigned int> triggers() const 00109 { return(triggers_);} 00110 00111 std::vector<unsigned int> testTriggers() const 00112 { return(testTriggers_);} 00113 00115 int operator==(const L1TriggerScalers& e) const { return false; } 00116 00118 int operator!=(const L1TriggerScalers& e) const { return false; } 00119 00120 protected: 00121 int version_; 00122 00123 unsigned int trigType_; 00124 unsigned int eventID_; 00125 unsigned int sourceID_; 00126 unsigned int bunchNumber_; 00127 00128 struct timespec collectionTimeSpecial_; 00129 unsigned int orbitNumber_; 00130 unsigned int luminositySection_; 00131 unsigned short bunchCrossingErrors_; 00132 00133 struct timespec collectionTimeSummary_; 00134 unsigned int triggerNumber_; 00135 unsigned int eventNumber_; 00136 unsigned int finalTriggersDistributed_; 00137 unsigned int calibrationTriggers_; 00138 unsigned int randomTriggers_; 00139 unsigned int totalTestTriggers_; 00140 unsigned int finalTriggersGenerated_; 00141 unsigned int finalTriggersInvalidBC_; 00142 unsigned long long deadTime_; 00143 unsigned long long lostFinalTriggers_; 00144 unsigned long long deadTimeActive_; 00145 unsigned long long lostFinalTriggersActive_; 00146 unsigned long long deadTimeActivePrivate_; 00147 unsigned long long deadTimeActivePartition_; 00148 unsigned long long deadTimeActiveThrottle_; 00149 unsigned long long deadTimeActiveCalibration_; 00150 unsigned long long deadTimeActiveTimeSlot_; 00151 unsigned int numberResets_; 00152 00153 struct timespec collectionTimeDetails_; 00154 std::vector<unsigned int> triggers_; 00155 std::vector<unsigned int> testTriggers_; 00156 }; 00157 00158 00160 std::ostream& operator<<(std::ostream& s, const L1TriggerScalers& c); 00161 00162 typedef std::vector<L1TriggerScalers> L1TriggerScalersCollection; 00163 00164 #endif