Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

NtpSREventSummary.h

Go to the documentation of this file.
00001 
00002 // NtpSREventSummary
00003 //
00004 // NtpSREventSummary is an ntuple class to hold event summary data
00005 //
00006 // Based on Roy Lee's CandEventSR/EventSRHeader
00007 // EventSRHeader data members run,subrun,runtype,snarl,trigsrc,errorcode, etc. 
00008 // are stored in the NtpSRRecord base class RecRecordImp's fHeader data member.
00010 
00011 #ifndef NTPSREVENTSUMMARY_H
00012 #define NTPSREVENTSUMMARY_H
00013 
00014 #include "TObject.h" // base class
00015 #include "CandNtupleSR/NtpSRPulseHeight.h"
00016 #include "CandNtupleSR/NtpSRPlane.h"
00017 #include "CandNtupleSR/NtpSRDate.h"
00018 
00019 class NtpSREventSummary;
00020 std::ostream &operator << (std::ostream& os, const NtpSREventSummary& es);
00021 
00022 class NtpSREventSummary : public TObject {
00023 
00024  public:
00025   // Constructors & Destructors
00026   NtpSREventSummary(): ndigit(0),nstrip(0),nslice(0),ncluster(0),ntrack(0),
00027     nshower(0),nevent(0),trigtime(0),litime(-1) {}
00028   virtual ~NtpSREventSummary() {}
00029 
00030   // State testing methods
00031   virtual std::ostream& Print(std::ostream& os) const;
00032   virtual void Print(Option_t* option = "") const; 
00033 
00034  public:
00035   // Ntuple is treated like a C-struct with public data members and
00036   // rule-breaking field data members not prefaced by "f" and all
00037   // lowercase, by popular demand.
00038 
00039   UInt_t ndigit;        // number of digits  
00040   UInt_t nstrip;        // number of strips 
00041   UShort_t nslice;      // number of slices 
00042   UShort_t ncluster;    // number of clusters
00043   UShort_t ntrack;      // number of tracks 
00044   UShort_t nshower;     // number of showers 
00045   UShort_t nevent;      // number of events 
00046   Double_t trigtime;    // fractional second
00047   // The litime is the time of the last LI digit in the snarl (-1 if none),
00048   // where an LI digit is a RawDigit on a channel with readout type 
00049   // kFlashTrigPMT and an adc count > 100.
00050   Double_t litime;   // time of last li digit in snarl (-1 if none)
00051   NtpSRPulseHeight ph;  // summed digit pulse height 
00052   // planeall.beg/end is determined as the min/max planes with non-zero
00053   // readout from either end. planeall.n is determined as the number of
00054   // planes within this range with non-zero readout from either end.
00055   NtpSRPlane planeall;  // range of planes all digits 
00056   // plane.beg/end is determined by first testing for 4 contiguous planes
00057   // with a summed ph > 3 pe across both ends. The minimum plane of the first 
00058   // such group and the maximum plane of the last such group form plane.beg 
00059   // and plane.end respectively. plane.n is the number of planes between 
00060   // plane.beg and plane.end with non-zero readout from either end.  
00061   // Within these boundaries, the u/v plane boundaries are set according
00062   // to the min/max u/v planes with non-zero readout from either end.
00063   NtpSRPlane plane;     // digits above threshold (nominally 3 pe)
00064   // date.sec is filled with (the vldtimestamp->GetSec() +  
00065   //                          the digitlisthandle -> GetAbsTime()) 
00066   NtpSRDate  date;      // utc date/time of event  
00067   
00068   ClassDef(NtpSREventSummary,3)
00069 };
00070 
00071 
00072 #endif // NTPSREVENTSUMMARY_H

Generated on Mon Feb 15 11:07:06 2010 for loon by  doxygen 1.3.9.1