CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/src/SimG4CMS/Forward/interface/TotemNumberMerger.h

Go to the documentation of this file.
00001 #ifndef Forward_TotemNumberMerger_h
00002 #define Forward_TotemNumberMerger_h 1
00003 // -*- C++ -*-
00004 //
00005 // Package:     Forward
00006 // Class  :     TotemNumberMerger
00007 //
00017 //
00018 // Original Author:  R. Capra
00019 //         Created:  Tue May 16 10:14:34 CEST 2006
00020 // $Id: TotemNumberMerger.h,v 1.1 2006/05/17 16:18:57 sunanda Exp $
00021 //
00022  
00023 // system include files
00024 
00025 // user include files
00026 
00027 #include "globals.hh"
00028 
00029 class TotemNumberMerger {
00030 
00031 public: 
00032 
00033   // ---------- Constructor and destructor -----------------
00034   TotemNumberMerger();
00035   ~TotemNumberMerger();
00036 
00037   // ---------- The two operations -------------------------
00038   unsigned long    Merge(unsigned long value1,  unsigned long value2) const;
00039   unsigned long    Merge(unsigned long value1,  unsigned long value2, 
00040                          unsigned long value3)  const;
00041   unsigned long    Merge(unsigned long value1,  unsigned long value2,
00042                          unsigned long value3,  unsigned long value4) const;
00043   void             Split(unsigned long source,  unsigned long &value1, 
00044                          unsigned long &value2) const;
00045   void             Split(unsigned long source,  unsigned long &value1, 
00046                          unsigned long &value2, unsigned long &value3) const;
00047   void             Split(unsigned long source,  unsigned long &value1, 
00048                          unsigned long &value2, unsigned long &value3,
00049                          unsigned long &value4) const;
00050 };
00051 #endif
00052