//////////////////////////////////////////////////////////////////// /// \class RAT::DS::ECAHeader /// /// \brief Data Structure: Event-level ECA header information /// /// \author Gabriel Orebi Gann /// /// REVISION HISTORY:\n /// 2013/11/18 : A. Mastbaum - copied from EPEDInfo, expanded abbrev. names\n /// 2014-03-26 : P G Jones - refactor in line with dsreview \n /// 2015-06-27 : J Caravaca - Added Flag used for subruns in SNO+ and for /// calibration type in SNO \n /// /// \details This structure holds ECA header information on an event-level /// basis. /// //////////////////////////////////////////////////////////////////// #ifndef __RAT_DS_ECAHeader__ #define __RAT_DS_ECAHeader__ #include namespace RAT { namespace DS { class ECAHeader : public TObject { public: /// Construct the header, set all members to 0 ECAHeader() : TObject(), gtDelayCoarse(0), gtDelayFine(0), chargePedestalAmplitude(0), chargePedestalWidth(0), patternID(0), calType(0) {} /// Get the (coarse) delay between the pedestal and global trigger. /// /// @return the coarse delay between the pedestal and global trigger UInt_t GetGTDelayCoarse() const { return gtDelayCoarse; } /// Set the (coarse) delay between the pedestal and global trigger. /// /// @param[in] delay (coarse) to set void SetGTDelayCoarse( const UInt_t delay ) { gtDelayCoarse = delay; } /// Get the (fine) delay between the pedestal and global trigger. /// /// @return the fine delay between the pedestal and global trigger. UInt_t GetGTDelayFine() const { return gtDelayFine; } /// Set the (fine) delay between the pedestal and global trigger. /// /// @param[in] delay (fine) to set void SetGTDelayFine( const UInt_t delay ) { gtDelayFine = delay; } /// Get the amplitude of the charge pedestal. /// /// @return the amplitude of the charge pedestal. UInt_t GetChargePedestalAmplitude() const { return chargePedestalAmplitude; } /// Set the amplitude of the charge pedestal. /// /// @param[in] amplitude to set void SetChargePedestalAmplitude( const UInt_t amplitude ) { chargePedestalAmplitude = amplitude; } /// Get the width of the charge pedestal. /// /// @return the width of the charge pedestal. UInt_t GetChargePedestalWidth() const { return chargePedestalWidth; } /// Set the width of the charge pedestal. /// /// @param[in] width of the charge pedestal void SetChargePedestalWidth( const UInt_t width ) { chargePedestalWidth = width; } /// Get the ECA pattern ID. /// /// @return ECA pattern ID UInt_t GetPatternID() const { return patternID; } /// Set the ECA pattern ID. /// /// @param[in] id of the ECA pattern void SetPatternID( const UInt_t id ) { patternID = id; } /// Get the calibration type. /// /// @return the calibration type ID UInt_t GetCalType() const { return calType; } /// Set the calibration type. /// /// @param[in] calibration type ID void SetCalType( const UInt_t type ) { calType = type; } /// Get the number of TSlope points /// /// @return the number of TSlope points UInt_t GetNTSlopePoints() const { return nTSlopePoints; } /// Set the number of TSlope points /// /// @param[in] number of TSlope points void SetNTSlopePoints( const UInt_t number ) { nTSlopePoints = number; } /// Get the flag value /// /// @return flag value UInt_t GetFlag() const { return flag; } /// Set the flag value /// /// @param[in] flag value void SetFlag( const UInt_t number ) { flag = number; } // This ROOT macro adds dictionary methods to this class. // The number should be incremented whenever this class's members are changed. // It assumes this class has no virtual methods, use ClassDef if change this. ClassDefNV( ECAHeader, 1 ); protected: UInt_t gtDelayCoarse; ///< Coarse delay between pedestal and global trigger UInt_t gtDelayFine; ///< Fine delay between pedestal and global trigger UInt_t chargePedestalAmplitude; ///< Amplitude of charge pedestal UInt_t chargePedestalWidth; ///< Width of charge pedestal UInt_t patternID; ///< ECA pattern ID UInt_t calType; ///< Type of calibration UInt_t nTSlopePoints; ///< The number of TSlope points UInt_t flag; ///< Calibration status: 1->Start, 2->Change in inj value, 3->End of calib, 4->End of run }; } // namespace DS } // namespace RAT #endif // __RAT_DS_ECAHeader__