00001 
00002 
00004 #ifndef __Network__
00005 #define __Network__
00006 
00007 #include "CUtils.h"
00008 #include "NetConst.h"
00009 #include "Streams.h"
00010 #include "TMath.h"
00011 
00012 using namespace std;
00013 
00019 class Network {
00020   
00021  public:
00022   
00034   Network(const int aNstreams, const int aVerbose=0);
00035   
00039   virtual ~Network(void);
00047   inline int GetNstreams(void) { return Nstreams; };
00048   
00052   inline int GetNStreams(void) { return Nstreams; };
00053 
00057   inline string GetName(void) { return NetName; };
00058   
00062   inline int GetNetIndex(void) { return NetIndex; };
00063 
00067   inline int GetType(void){ return ::GetType(NetIndex); };
00068   
00076   bool MakeLVNetwork(const int aNetIndex);
00077 
00083   bool IsDetIndexInNet(const int aDetIndex);
00084 
00090   int GetDetIndex(const int aStreamIndex);
00091 
00092  private:
00093 
00094   bool status_OK;           
00095   int verbose;              
00096 
00097   int Nstreams;             
00098   Streams** NetStreams;     
00099   int NetIndex;             
00100 
00101   string NetName;           
00102   
00103   ClassDef(Network,0)
00104 };
00105 
00106 #endif
00107 
00108