StripInfo Class Reference

#include <stripinfo.h>

List of all members.

Public Member Functions

 StripInfo (Int_t det_side, Int_t plane_number)
Int_t GetStrip (Int_t chip, Int_t channel, Int_t led)
Int_t GetChip (Int_t strip)
Int_t GetChannel (Int_t strip)
Int_t CheckStrip (Int_t led, Int_t strip)
Int_t CheckChannel (Int_t led, Int_t chip, Int_t channel)

Protected Member Functions

Int_t GetPixel (Int_t strip)
Int_t GetChannelFromPixel (Int_t pixel)
Int_t GetChipFromPixel (Int_t pixel)

Protected Attributes

Int_t number_pixels
Int_t pixels [10]
Int_t plane_no
Int_t side

Detailed Description

Definition at line 53 of file stripinfo.h.


Constructor & Destructor Documentation

StripInfo::StripInfo ( Int_t  det_side,
Int_t  plane_number 
) [inline]

Definition at line 69 of file stripinfo.h.

References plane_no, and side.

00069                                               {
00070     plane_no = plane_number;
00071     side = det_side;
00072   };


Member Function Documentation

Int_t StripInfo::CheckChannel ( Int_t  led,
Int_t  chip,
Int_t  channel 
)

Definition at line 12 of file stripinfo.cpp.

References GetChannelFromPixel(), GetChipFromPixel(), GetPixel(), n, plane_lims, and plane_no.

Referenced by Plane::CheckChannel().

00012                                                                   {
00013 
00014 
00015   Int_t start_strip =0;
00016   Int_t pixel=0;
00017 
00018   if( ((plane_no%4)==0) || (((plane_no+1)%4)==0)){
00019     led --;
00020     if(led <0)
00021       led=19;
00022   }
00023 
00024   for(Int_t n=0;n<led;n++)
00025     start_strip+=plane_lims[n];
00026   for(Int_t n=0;n<plane_lims[led];n++){
00027     pixel = GetPixel(start_strip+n);
00028     if(GetChipFromPixel(pixel) == chip && GetChannelFromPixel(pixel) ==channel){
00029 
00030       return 1;
00031     }
00032   }
00033   return 0;
00034 };

Int_t StripInfo::CheckStrip ( Int_t  led,
Int_t  strip 
)

Definition at line 37 of file stripinfo.cpp.

References n, plane_lims, and plane_no.

Referenced by Plane::CheckStrip(), and GetStrip().

00037                                                 {
00038 
00039   Int_t start_strip=0;
00040 
00041   if( ((plane_no%4)==0) || (((plane_no+1)%4)==0)){
00042     led--;
00043     if(led <0)
00044       led=19;
00045   }
00046 
00047   for(Int_t n=0;n<led;n++)
00048     start_strip+=plane_lims[n];
00049 
00050   if( strip < (start_strip+plane_lims[led]) && strip > (start_strip-1))
00051 
00052     return 1;
00053   return 0;
00054 };

Int_t StripInfo::GetChannel ( Int_t  strip  ) 

Definition at line 68 of file stripinfo.cpp.

References GetChannelFromPixel(), and GetPixel().

Referenced by Plane::GetEntries(), Plane::GetMean(), Plane::GetRMS(), and GetStrip().

00068                                       {
00069   return GetChannelFromPixel(GetPixel(strip));
00070 };

Int_t StripInfo::GetChannelFromPixel ( Int_t  pixel  )  [protected]

Definition at line 78 of file stripinfo.cpp.

Referenced by CheckChannel(), and GetChannel().

00079 {
00080   pixel = (pixel-1)%16;
00081   Int_t channelmap[] ={3,5,14,16,7,9,10,12,11,13,6,8,17,15,2,4};
00082   return channelmap[pixel];
00083 }

Int_t StripInfo::GetChip ( Int_t  strip  ) 

Definition at line 73 of file stripinfo.cpp.

References GetChipFromPixel(), and GetPixel().

Referenced by Plane::GetEntries(), Plane::GetMean(), Plane::GetRMS(), and GetStrip().

00073                                    {
00074   return GetChipFromPixel(GetPixel(strip));
00075 };

Int_t StripInfo::GetChipFromPixel ( Int_t  pixel  )  [protected]

Definition at line 86 of file stripinfo.cpp.

Referenced by CheckChannel(), and GetChip().

00087 {
00088 
00089   Int_t chip;
00090   chip = Int_t((pixel-1)/16);
00091   if(chip==1)
00092     chip=2;
00093   else if(chip==2)
00094     chip =1;
00095   return chip;
00096 };

Int_t StripInfo::GetPixel ( Int_t  strip  )  [protected]

Definition at line 99 of file stripinfo.cpp.

References plane_no, plane_one_east, plane_one_west, plane_two_east, plane_two_west, and side.

Referenced by CheckChannel(), GetChannel(), and GetChip().

00099                                     {
00100 
00101   if( (((plane_no+2)%4)==0) || (((plane_no+3)%4)==0)){
00102     if(side ==0)
00103       return plane_one_east[strip];
00104     if(side ==1)
00105       return plane_one_west[strip];
00106   }
00107   if( ((plane_no%4)==0) || (((plane_no+1)%4)==0)){
00108     if(side ==0)
00109       return plane_two_east[strip];
00110     if(side ==1)
00111       return plane_two_west[strip];
00112   }
00113   return 0;
00114 };

Int_t StripInfo::GetStrip ( Int_t  chip,
Int_t  channel,
Int_t  led 
)

Definition at line 56 of file stripinfo.cpp.

References CheckStrip(), GetChannel(), GetChip(), and n.

Referenced by Plane::GetStrip().

00056                                                              {
00057         
00058         for(Int_t n=0;n<192;n++)        
00059                 if(CheckStrip(led, n) > 0){
00060                         if(GetChannel(n) == channel && GetChip(n) == chip)      
00061                                 return n;
00062         }               
00063                 return 0;
00064 
00065 };


Member Data Documentation

Int_t StripInfo::number_pixels [protected]

Definition at line 57 of file stripinfo.h.

Int_t StripInfo::pixels[10] [protected]

Definition at line 58 of file stripinfo.h.

Int_t StripInfo::plane_no [protected]

Definition at line 59 of file stripinfo.h.

Referenced by CheckChannel(), CheckStrip(), GetPixel(), and StripInfo().

Int_t StripInfo::side [protected]

Definition at line 60 of file stripinfo.h.

Referenced by GetPixel(), and StripInfo().


The documentation for this class was generated from the following files:

Generated on 19 Jan 2018 for loon by  doxygen 1.6.1