diff --git a/src/THcRawShowerHit.cxx b/src/THcRawShowerHit.cxx
index de2642a09266760abea06f5f60a0562aa3eb4db4..5c28eacf8a18bb751ef5eff4d5888c1b13551d92 100644
--- a/src/THcRawShowerHit.cxx
+++ b/src/THcRawShowerHit.cxx
@@ -52,6 +52,17 @@ Int_t THcRawShowerHit::GetData(Int_t signal, UInt_t isample) {
   }
   return(-1);
 }
+
+// Return the number of samples
+Int_t THcRawShowerHit::GetNSamples(Int_t signal) {
+  if(signal==0) {
+    return(fNPosSamples);
+  } else if (signal==1) {
+    return(fNNegSamples);
+  }
+  return(-1);
+}
+
 //_____________________________________________________________________________
 THcRawShowerHit& THcRawShowerHit::operator=( const THcRawShowerHit& rhs )
 {
diff --git a/src/THcRawShowerHit.h b/src/THcRawShowerHit.h
index 2a2ad48c9b5ce179d877a8c5c4c7eb97bc87a917..f7cd000f214c883cd317657dc41ffe7e2334c168 100644
--- a/src/THcRawShowerHit.h
+++ b/src/THcRawShowerHit.h
@@ -23,6 +23,7 @@ class THcRawShowerHit : public THcRawHit {
   void SetData(Int_t signal, Int_t data);
   Int_t GetData(Int_t signal);
   Int_t GetData(Int_t signal, UInt_t isample);
+  Int_t GetNSamples(Int_t signal);
 
   //  virtual Bool_t  IsSortable () const {return kTRUE; }
   //  virtual Int_t   Compare(const TObject* obj) const;