#ifndef __MMcTrigHeader__ #define __MMcTrigHeader__ #ifndef MARS_MParContainer #include "MParContainer.h" #endif #include "MTriggerDefine.h" #include "Mdefine.h" // // Version 4 // Added data members fGainFluctuations and fNoiseGainFluctuations // class MMcTrigHeader : public MParContainer{ private: Short_t fTopology ; // Topology of the trigger // 0 = N-1 neighbours of one pixel // 1 = N neighbours // 2 = N closed pack Short_t fMultiplicity ; // Pixel multiplicity of trigger configuration Float_t fThreshold[CAMERA_PIXELS] ; // Threshold for trigger UInt_t fTrigPattern[2]; // Used to inddentify with // RawEvt::Trigger Pattern identification Float_t fTrigShape ; // a number that indicate the shape type of // the signal // = 0 --> a gaussian Float_t fAmplTrig ; // the amplitude of the trigger in mV Float_t fFwhmTrig ; // the width of the signal in nsec Float_t fOverlapingTime;// Minimum coincidence time Float_t fGateLeng; // the length of the digital signal if analog // signal is above threshold Float_t fElecNoiseTrig; // The width of the gaussian noise is that times // the amplitude of the single phe response // for the trigger Bool_t fGainFluctuations; // kTRUE if PMT gain fluctuations were simulated for the signal // (=> default in camera simulation) Bool_t fNoiseGainFluctuations; // kTRUE if PMT gain fluctuations were simulated for the NSB noise // (=> default in StarResponse program) public: MMcTrigHeader() ; ~MMcTrigHeader(); void Print(Option_t *opt=NULL) const; void SetTopology(Short_t nTop) { fTopology=nTop; } void SetMultiplicity(Short_t nMul) { fMultiplicity=nMul; } void SetThreshold(Float_t fthr[]){ int i; for(i=0;i 0.) { sum += fThreshold[i]; trigpix += 1.; } } return (sum / trigpix); } ClassDef(MMcTrigHeader, 4) //Stores Montecarlo Information which describes the used trigger }; #endif