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

CellKG Class Reference

#include <CellKG.h>

List of all members.

Public Member Functions

 CellKG ()
virtual ~CellKG ()
Bool_t Create (UInt_t index1, UInt_t index2, StripListKG &all1, Int_t whichOne, std::vector< CellKG > &allcells, Int_t &cellnb)
Bool_t Create (UInt_t index, StripListKG &all1, std::vector< CellKG > &allcells, Int_t &cellnb)

Public Attributes

Int_t index
Float_t u
Float_t v
Float_t z
Int_t plane
Int_t planeview
UInt_t elem1
UInt_t elem2


Constructor & Destructor Documentation

CellKG::CellKG  ) 
 

Definition at line 22 of file CellKG.cxx.

References MSG.

00022               :index(0),u(0.),v(0.),z(0.),plane(0),planeview(0){
00023 //
00024 //  Purpose:  Default constructor
00025 //
00026 
00027   MSG("Cluster3D", Msg::kVerbose)
00028     << "Default constructor " << endl;
00029 }

virtual CellKG::~CellKG  )  [inline, virtual]
 

Definition at line 32 of file CellKG.h.

00032 {}; 


Member Function Documentation

Bool_t CellKG::Create UInt_t  index,
StripListKG all1,
std::vector< CellKG > &  allcells,
Int_t &  cellnb
 

Definition at line 99 of file CellKG.cxx.

References elem1, elem2, StripListKG::GetStripPlane(), StripListKG::GetStripTPos(), StripListKG::GetStripView(), StripListKG::GetStripZPos(), plane, planeview, u, v, and z.

00099                                                                                              {
00100 //
00101 //  Purpose:  Create a long cell (from one strip)
00102 //
00103    Bool_t unique = true;
00104 
00105   if(all1.GetStripView(index)==2){
00106     u=all1.GetStripTPos(index);    
00107     v=9999.;
00108     planeview=2;
00109   }
00110   else if(all1.GetStripView(index)==3){
00111     u=9999.;  
00112     v=all1.GetStripTPos(index);  
00113     planeview=3;
00114   }
00115 
00116   elem1=index;
00117   elem2=index;
00118   
00119   z=all1.GetStripZPos(index);  
00120   plane=all1.GetStripPlane(index);  
00121 
00122    for(UInt_t ii=0; ii<allcells.size(); ++ii){
00123 
00124      if( ( planeview==2 && fabs(u - allcells[ii].u)<0.000001)
00125          || (planeview==3 && fabs(v - allcells[ii].v)<0.000001 )
00126          &&  (fabs(z - allcells[ii].z)<0.000001) ){
00127        unique = false;
00128        break;
00129      } 
00130      else{
00131        unique = true;
00132      }
00133    }
00134 
00135    if(unique) {
00136       index=cellnb;
00137       ++cellnb;
00138    }
00139 
00140    return unique;
00141 
00142 }

Bool_t CellKG::Create UInt_t  index1,
UInt_t  index2,
StripListKG all1,
Int_t  whichOne,
std::vector< CellKG > &  allcells,
Int_t &  cellnb
 

Definition at line 33 of file CellKG.cxx.

References elem1, elem2, StripListKG::GetStripPlane(), StripListKG::GetStripTPos(), StripListKG::GetStripView(), StripListKG::GetStripZPos(), index, plane, planeview, u, v, and z.

Referenced by CellListKG::CreateCells().

00033                                                                                                                              {
00034 //
00035 //  Purpose:  Create a cell
00036 //
00037 
00038   Bool_t unique = true;
00039   
00040   if(all1.GetStripView(index1)==2){
00041     u=all1.GetStripTPos(index1);  
00042     v=all1.GetStripTPos(index2);  
00043   }
00044   else if(all1.GetStripView(index1)==3){
00045     u=all1.GetStripTPos(index2);    
00046     v=all1.GetStripTPos(index1);  
00047   }
00048 
00049   elem1=index1;
00050   elem2=index2;
00051   
00052   if(whichOne==1){
00053     z=all1.GetStripZPos(index1);  
00054     plane=all1.GetStripPlane(index1);  
00055     if(all1.GetStripView(index1)==2){
00056       planeview=2;
00057     }
00058     else if(all1.GetStripView(index1)==3){
00059       planeview=3;
00060     }
00061   }
00062   else if(whichOne==2){
00063     z=all1.GetStripZPos(index2);  
00064     plane=all1.GetStripPlane(index2);  
00065 
00066     if(all1.GetStripView(index2)==2){
00067       planeview=2;
00068     }
00069     else if(all1.GetStripView(index2)==3){
00070       planeview=3;
00071     }
00072   }
00073 
00074    for(UInt_t ii=0; ii<allcells.size(); ++ii){
00075 
00076      if( (( fabs(u - allcells[ii].u)<0.000001)
00077           &&  (fabs(v - allcells[ii].v)<0.000001)
00078          &&  (fabs(z - allcells[ii].z)<0.000001)
00079         ) ){
00080        unique = false;
00081        break;
00082      } 
00083      else{
00084        unique = true;
00085      }
00086    }
00087 
00088    if(unique) {
00089       index=cellnb;
00090       ++cellnb;
00091    }
00092 
00093    return unique;
00094 
00095 }


Member Data Documentation

UInt_t CellKG::elem1
 

Definition at line 40 of file CellKG.h.

Referenced by Create().

UInt_t CellKG::elem2
 

Definition at line 41 of file CellKG.h.

Referenced by Create().

Int_t CellKG::index
 

Definition at line 34 of file CellKG.h.

Referenced by Create().

Int_t CellKG::plane
 

Definition at line 38 of file CellKG.h.

Referenced by Create().

Int_t CellKG::planeview
 

Definition at line 39 of file CellKG.h.

Referenced by Create().

Float_t CellKG::u
 

Definition at line 35 of file CellKG.h.

Referenced by Create().

Float_t CellKG::v
 

Definition at line 36 of file CellKG.h.

Referenced by Create().

Float_t CellKG::z
 

Definition at line 37 of file CellKG.h.

Referenced by Create().


The documentation for this class was generated from the following files:
Generated on Fri Mar 28 15:57:44 2008 for loon by  doxygen 1.3.9.1