FairRoot/PandaRoot
Public Member Functions | List of all members
PndTrkCategorizeStt Class Reference

#include <PndTrkCategorizeStt.h>

Public Member Functions

 PndTrkCategorizeStt ()
 
virtual ~PndTrkCategorizeStt ()
 
void CategorizeStt (const Short_t NUMBER_STRAWS, TClonesArray *SttTubeArray, Short_t &nAxialOuterRight, Short_t &nAxialInnerRight, Short_t &nAxialOuterLeft, Short_t &nAxialInnerLeft, Short_t *ListAxialOuterRight, Short_t *ListAxialInnerRight, Short_t *ListAxialOuterLeft, Short_t *ListAxialInnerLeft, Short_t &nSkewRight, Short_t &nSkewLeft, Short_t *ListSkewRight, Short_t *ListSkewLeft)
 
 ClassDef (PndTrkCategorizeStt, 1)
 

Detailed Description

Definition at line 7 of file PndTrkCategorizeStt.h.

Constructor & Destructor Documentation

PndTrkCategorizeStt::PndTrkCategorizeStt ( )

Default constructor

Definition at line 17 of file PndTrkCategorizeStt.cxx.

17 {};
PndTrkCategorizeStt::~PndTrkCategorizeStt ( )
virtual

Destructor

Definition at line 20 of file PndTrkCategorizeStt.cxx.

20 {};

Member Function Documentation

void PndTrkCategorizeStt::CategorizeStt ( const Short_t  NUMBER_STRAWS,
TClonesArray *  SttTubeArray,
Short_t &  nAxialOuterRight,
Short_t &  nAxialInnerRight,
Short_t &  nAxialOuterLeft,
Short_t &  nAxialInnerLeft,
Short_t *  ListAxialOuterRight,
Short_t *  ListAxialInnerRight,
Short_t *  ListAxialOuterLeft,
Short_t *  ListAxialInnerLeft,
Short_t &  nSkewRight,
Short_t &  nSkewLeft,
Short_t *  ListSkewRight,
Short_t *  ListSkewLeft 
)

Definition at line 24 of file PndTrkCategorizeStt.cxx.

References APOTEMAMINOUTERPARSTRAW, fabs(), PndSttTube::GetPosition(), PndSttTube::GetWireDirection(), i, r2, x, and y.

Referenced by PndTrkTracking2::Init().

43  {
44  int i;
45 
46 
47  double
48  r2,
49  x[NUMBER_STRAWS],
50  //Xwiredirection[NUMBER_STRAWS], //[R.K.02/2017] Unused variable?
51  y[NUMBER_STRAWS],
52  //Ywiredirection[NUMBER_STRAWS], //[R.K.02/2017] Unused variable?
53  //z[NUMBER_STRAWS], //[R.K.02/2017] Unused variable?
54  Zwiredirection[NUMBER_STRAWS];
55 
56  PndSttTube *pSttTube;
57 
58 
59  nAxialOuterRight = 0;
60  nAxialOuterLeft = 0;
61  nAxialInnerRight = 0;
62  nAxialInnerLeft = 0;
63  nSkewRight = 0;
64  nSkewLeft = 0;
65 
66 
67  // the total n. of STT straws is NUMBER_STRAWS;
68  for (i=1;i<= NUMBER_STRAWS; i++){
69  pSttTube = (PndSttTube *) SttTubeArray->At(i);
70  x[i-1] = pSttTube->GetPosition().X();
71  y[i-1] = pSttTube->GetPosition().Y();
72  //z[i-1] = pSttTube->GetPosition().Z(); //[R.K.02/2017] Unused variable?
73  //Xwiredirection[i-1] = pSttTube->GetWireDirection().X(); //[R.K.02/2017] Unused variable?
74  //Ywiredirection[i-1] = pSttTube->GetWireDirection().Y(); //[R.K.02/2017] Unused variable?
75  Zwiredirection[i-1] = pSttTube->GetWireDirection().Z();
76  }
77 
78 
79  for (i=0;i< NUMBER_STRAWS; i++){
80  if( fabs(Zwiredirection[i] -1.) > 1.e-5){
81  // skew straws;
82  if( x[i] < 0. ){
83  // left skew straws;
84  ListSkewLeft[nSkewLeft] = i+1;
85  nSkewLeft++;
86  } else {
87  // right skew straws;
88  ListSkewRight[nSkewRight] = i+1;
89  nSkewRight++;
90  }
91  } else{
92  r2 = x[i]*x[i] + y[i]*y[i];
93  // axial straws;
94  if( x[i] < 0. ){
95  // left axial straws;
96 
98  // inner;
99  ListAxialInnerLeft[nAxialInnerLeft] = i+1;
100  nAxialInnerLeft++;
101  } else {
102  // outer;
103  ListAxialOuterLeft[nAxialOuterLeft] = i+1;
104  nAxialOuterLeft++;
105  } // end of if( r2 < APOTEMAMINOUTERPARSTRAW * APOTEMAMINOUTERPARSTRAW )
106 
107  } else {
108  // right axial straws;
109 
111  // inner;
112  ListAxialInnerRight[nAxialInnerRight] = i+1;
113  nAxialInnerRight++;
114  } else {
115  // outer;
116  ListAxialOuterRight[nAxialOuterRight] = i+1;
117  nAxialOuterRight++;
118  } // end of if( r2 < APOTEMAMINOUTERPARSTRAW * APOTEMAMINOUTERPARSTRAW )
119  } // end of if( x[i] < 0. )
120 
121  } // end of if( fabs(Zwiredirection[i] -1.) > 1.e-5)
122 
123 
124  } // end of for (i=0;i< NUMBER_STRAWS; i++)
125 
126  }
Int_t i
Definition: run_full.C:25
TVector3 GetPosition()
Definition: PndSttTube.cxx:87
const Double_t APOTEMAMINOUTERPARSTRAW
friend F32vec4 fabs(const F32vec4 &a)
Definition: P4_F32vec4.h:47
Double_t x
Double_t y
TVector3 GetWireDirection()
Definition: PndSttTube.cxx:107
double r2
PndTrkCategorizeStt::ClassDef ( PndTrkCategorizeStt  ,
 
)

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