Base_LogicalVolumeB.h

Go to the documentation of this file.
00001 //     Authors:
00002 // Anselmo Cervera, Juan J. Gomez-Cadenas and Jose Angel Hernando
00003 
00004 #ifndef LogicalVolumeB_h
00005 #define LogicalVolumeB_h 1
00006 
00007 #include "Kalman/Util_ETypes.h"
00008 
00009 //! Class to perform a LogicalVolume
00010 class LogicalVolumeB
00011 {
00012  public:
00013 
00014   //! default constructor
00015   LogicalVolumeB(std::string name, std::string type, int i){
00016     m_name = name;
00017     m_type = type;
00018     m_firstIndex  = i;
00019     m_secondIndex = 0;
00020     m_trueAction  = "continue";
00021     m_falseAction = "continue";
00022   }
00023   
00024 
00025   LogicalVolumeB(std::string name, std::string type, int i, int j){
00026     m_name = name;
00027     m_type = type;
00028     m_firstIndex  = i;
00029     m_secondIndex = j;
00030     m_trueAction  = "continue";
00031     m_falseAction = "continue";
00032   }
00033   
00034 
00035 
00036   LogicalVolumeB(std::string name, std::string type, int i, int j, std::string trueAction, std::string falseAction){
00037     m_name = name;
00038     m_type = type;
00039     m_firstIndex  = i;
00040     m_secondIndex = j;
00041     m_trueAction  = trueAction;
00042     m_falseAction = falseAction;
00043   }
00044   
00045 
00046 
00047 
00048   //! default destructor
00049   virtual ~LogicalVolumeB(){}
00050 
00051 
00052   //! returns the first index
00053   virtual int firstIndex() const{return m_firstIndex;}  
00054 
00055   //! returns the second index
00056   virtual int secondIndex() const{return m_secondIndex;}  
00057 
00058   //! get the actions to be taken in the case of intersection/no-intersection
00059   virtual std::string action(bool inter){
00060     if (inter) return m_trueAction; 
00061     else return m_falseAction;
00062   }
00063   //! returns the second index
00064   virtual std::string type() const {return m_type;}  
00065   
00066   //! returns the second index
00067   virtual std::string name() const {return m_name;}  
00068   
00069 
00070  protected:
00071 
00072   std::string m_type;
00073   std::string m_name;
00074 
00075   int m_firstIndex;
00076   int m_secondIndex;
00077 
00078   std::string m_trueAction;
00079   std::string m_falseAction;
00080 
00081 };
00082 #endif
00083 
00084 

Generated on Mon Nov 23 08:01:43 2009 for MIPP(E907) by  doxygen 1.4.7