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

NtpSRCluster.h

Go to the documentation of this file.
00001 
00002 //
00003 // NtpSRCluster
00004 //
00005 // NtpSRCluster is an ntuple class to hold shower cluster data
00006 //
00008 
00009 #ifndef NTPSRCLUSTER_H
00010 #define NTPSRCLUSTER_H
00011 
00012 #include <iosfwd> // ostream fwd decl'
00013 
00014 #include "CandNtupleSR/NtpSRStripPulseHeight.h"
00015 
00016 class NtpSRCluster;
00017 std::ostream &operator << (std::ostream& os, const NtpSRCluster& cluster);
00018 
00019 class NtpSRCluster : public TObject {
00020 
00021  public:
00022   NtpSRCluster(): index(0),planeview(0),nplane(0),begplane(0),endplane(0),
00023     id(0),slc(0),ndigit(0),nstpcnt(0),nstrip(0),stp(0),probem(0),
00024     zvtx(0),tposvtx(0),slope(0),avgdev(0) {} // def const'r
00025   NtpSRCluster(Int_t nstripinit); // normal const'r
00026   virtual ~NtpSRCluster() { this -> Clear(); }
00027   
00028   // State testing methods
00029   virtual std::ostream& Print(std::ostream& os) const;
00030   virtual void Print(Option_t* option = "") const; 
00031   
00032   // State changing methods
00033   void AddStripAt(Int_t stripindex, Int_t ind);
00034   void Clear(Option_t* = "") { ClearStrips(); }
00035   void ClearStrips() { nstrip = 0; if ( stp ) delete [] stp; stp = 0; }
00036 
00037  public:
00038   // Ntuple is treated like a C-struct with public data members and
00039   // rule-breaking field data members not prefaced by "f" and all
00040   // lowercase, by popular demand.
00041 
00042   UShort_t index; // index of this shower in shower array
00043   UShort_t planeview;  //view
00044   UShort_t nplane;     //number of planes
00045   UShort_t begplane;   //begin plane
00046   UShort_t endplane;   //end plane
00047   UShort_t id;         //subshower id of type ClusterType_t
00048 
00049   Short_t slc;    // index of associated slice in slice array
00050 
00051   Int_t ndigit;   // number of digits in cluster
00052   // nstpcnt will represent the number of strips in track even in "slim"
00053   // ntuple output file for which nstrip is set to 0 and the strip
00054   // array (stp) has been deleted.
00055   Int_t nstpcnt;  // number of strips in cluster
00056   Int_t nstrip;   // number of strips in stp array
00057   Int_t* stp;     //[nstrip]  indices to associated strips in strip array
00058 
00059   Float_t probem;          //em probability
00060   Float_t zvtx;            //vertex in z
00061   Float_t tposvtx;         //vertex in tpos
00062   Float_t slope;           //d(tpos)/dz
00063   Float_t avgdev;          //ph weighted average deviation around long axis
00064 
00065   NtpSRStripPulseHeight ph; // summed strip pulse height 
00066 
00067   ClassDef(NtpSRCluster,2)
00068 };
00069 
00070 #endif // NTPSRCLUSTER_H

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