Release version of ITS code
[u/mrichter/AliRoot.git] / ITS / AliITSv3.cxx
index c0f9171..345dcda 100644 (file)
 
 /*
 $Log$
-Revision 1.11.4.8  2000/06/12 19:14:40  barbera
-Remove partical transision to new Config.C calling convension. Bug Found.
-
-Revision 1.11.4.7  2000/06/12 18:15:38  barbera
-fixed posible compilation errors on HP unix. Modifided default constructor
-for use with new calling requirements.
-
-Revision 1.11.4.6  2000/06/11 20:37:41  barbera
-coding convenstion update.
-
 Revision 1.11.4.4  2000/05/19 10:09:51  nilsen
 fix for bug with HP and Sun unix + fix for event display in ITS-working branch
 
@@ -99,20 +89,22 @@ Introduction of the Copyright and cvs Log
 ClassImp(AliITSv3)
  
 //_____________________________________________________________________________
-  AliITSv3::AliITSv3()/* : AliITS("ITS","TP version")*/{
+AliITSv3::AliITSv3() {
 ////////////////////////////////////////////////////////////////////////
 //    Standard default constructor for the ITS version 3.
 ////////////////////////////////////////////////////////////////////////
-    fId3N = 6;
-    fId3Name = new char*[fId3N];
-    fId3Name[0] = "ITS1";
-    fId3Name[1] = "ITS2";
-    fId3Name[2] = "ITS3";
-    fId3Name[3] = "ITS4";
-    fId3Name[4] = "ITS5";
-    fId3Name[5] = "ITS6";
+
+    fIdN = 6;
+    fIdName = new TString[fIdN];
+    fIdName[0] = "ITS1";
+    fIdName[1] = "ITS2";
+    fIdName[2] = "ITS3";
+    fIdName[3] = "ITS4";
+    fIdName[4] = "ITS5";
+    fIdName[5] = "ITS6";
+    fIdSens    = new Int_t[fIdN];
+    for (Int_t i=0;i<fIdN;i++) fIdSens[i]=fIdName[i].Length();
     fMinorVersionV3=1;
-    printf("Created ITS TP Detailed version\n");
 }
 //____________________________________________________________________________
 AliITSv3::AliITSv3(const AliITSv3 &source){
@@ -120,10 +112,7 @@ AliITSv3::AliITSv3(const AliITSv3 &source){
 //     Copy Constructor for ITS version 3.
 ////////////////////////////////////////////////////////////////////////
     if(&source == this) return;
-    this->fId3N = source.fId3N;
-    this->fId3Name = new char*[fId3N];
-    Int_t i;
-    for(i=0;i<6;i++) strcpy(this->fId3Name[i],source.fId3Name[i]);
+    printf("Not allowed to copy AliITSv3\n");
     return;
 }
 //_____________________________________________________________________________
@@ -131,42 +120,39 @@ AliITSv3& AliITSv3::operator=(const AliITSv3 &source){
 ////////////////////////////////////////////////////////////////////////
 //    Assignment operator for the ITS version 3.
 ////////////////////////////////////////////////////////////////////////
-  if(&source == this) return *this;
-  this->fId3N = source.fId3N;
-  this->fId3Name = new char*[fId3N];
-  Int_t i;
-  for(i=0;i<6;i++) strcpy(this->fId3Name[i],source.fId3Name[i]);
-  return *this;
+    if(&source == this) return *this;
+    printf("Not allowed to copy AliITSv3\n");
+    return *this;
 }
 //_____________________________________________________________________________
 AliITSv3::~AliITSv3() {
 ////////////////////////////////////////////////////////////////////////
 //    Standard destructor for the ITS version 3.
 ////////////////////////////////////////////////////////////////////////
-  delete [] fId3Name;
 }
 //_____________________________________________________________________________
 AliITSv3::AliITSv3(const char *name, const char *title) : AliITS(name, title){
 ////////////////////////////////////////////////////////////////////////
 //    Standard constructor for the ITS version 3.
 ////////////////////////////////////////////////////////////////////////
-    fId3N = 6;
-    fId3Name = new char*[fId3N];
-    fId3Name[0] = "ITS1";
-    fId3Name[1] = "ITS2";
-    fId3Name[2] = "ITS3";
-    fId3Name[3] = "ITS4";
-    fId3Name[4] = "ITS5";
-    fId3Name[5] = "ITS6";
+    fIdN = 6;
+    fIdName = new TString[fIdN];
+    fIdName[0] = "ITS1";
+    fIdName[1] = "ITS2";
+    fIdName[2] = "ITS3";
+    fIdName[3] = "ITS4";
+    fIdName[4] = "ITS5";
+    fIdName[5] = "ITS6";
+    fIdSens    = new Int_t[fIdN];
+    for (Int_t i=0;i<fIdN;i++) fIdSens[i]=fIdName[i].Length();
     fMinorVersionV3=1;
-    printf("Created ITS TP Detailed version\n");
 }//__________________________________________________________________________
 void AliITSv3::BuildGeometry(){
 ////////////////////////////////////////////////////////////////////////
 //    Geometry builder for the ITS version 3.
 ////////////////////////////////////////////////////////////////////////
     TNode *node, *top;
-    const Int_t kColorITS=kYellow;
+    const int kColorITS=kYellow;
     //
     top = gAlice->GetGeometry()->GetNode("alice");
 
@@ -492,7 +478,7 @@ void AliITSv3::CreateGeometry(){
   jbox2 = 0;
   
   // counter over the number of elements of layer #2 ( 
-  for(i = 1; i <= 10; ++i) {
+  for (i = 1; i <= 10; ++i) {
     
     // --- Place part # 1-2 (see sketch) 
     
@@ -1498,7 +1484,7 @@ void AliITSv3::CreateGeometry(){
   //     (IDV1) 
   
   ypos = 0.;
-  for(j = 1; j <= 5; ++j) {
+  for (j = 1; j <= 5; ++j) {
     // odd elements are up and even elements are down 
     if (j == 1) {
       xpos = dbox1[0] - dpcb[0] * 2. - dcop[0] * 2. - dcer[0] * 2. - dsil[0] * 2. - dits[0];
@@ -1734,7 +1720,7 @@ void AliITSv3::CreateGeometry(){
   //     (IDV2) 
   
   ypos = 0.;
-  for(j = 1; j <= 5; ++j) {
+  for (j = 1; j <= 5; ++j) {
     // odd element are up and even elements are down 
     if (j == 1) {
       xpos = dbox2[0] - dpcb[0] * 2. - dcop[0] * 2. - dcer[0] * 2. - dsil[0] * 2. - dits[0];
@@ -1892,7 +1878,7 @@ void AliITSv3::CreateGeometry(){
   //     mother volume (IT34) 
   //     Odd elements have large ribs and even elements have small ribs 
   
-  for(i = 1; i <= 12; ++i) {
+  for (i = 1; i <= 12; ++i) {
     atheta = (i-1) * 30.;
     AliMatrix(idrotm[i+1299], 90., atheta, 90., atheta + 90., 0.,0.);
     if (i % 2 == 0) {
@@ -2037,7 +2023,7 @@ void AliITSv3::CreateGeometry(){
   //     (IDV3) 
   
   ypos = 0.;
-  for(j = 1; j <= 7; ++j) {
+  for (j = 1; j <= 7; ++j) {
     // odd elements are down and even elements are up 
     if (j == 1) {
       xpos = dbox1[0] - dpcb[0] * 2. - dcop[0] * 2. - dcer[0] * 2. - dsil[0] * 2. - dits[0];
@@ -2283,7 +2269,7 @@ void AliITSv3::CreateGeometry(){
   //     (IDV4) 
   
   ypos = 0.;
-  for(j = 1; j <= 7; ++j) {
+  for (j = 1; j <= 7; ++j) {
     // odd elements are down and even elements are up 
     if (j == 1) {
       xpos = dbox2[0] - dpcb[0] * 2. - dcop[0] * 2. - dcer[0] * 2. - dsil[0] * 2. - dits[0];
@@ -2452,7 +2438,7 @@ void AliITSv3::CreateGeometry(){
   //     mother volume (IT34) 
   //     Odd elements have large ribs and even elements have small ribs 
   
-  for(i = 1; i <= 24; ++i) {
+  for (i = 1; i <= 24; ++i) {
     atheta = (i-1) * 15.;
     AliMatrix(idrotm[i+1399], 90., atheta, 90., atheta + 90., 0.,0.);
     if (i % 2 == 0) {
@@ -2661,7 +2647,7 @@ void AliITSv3::CreateGeometry(){
     // --- Place the sensitive part of the strips into its mother (ISV1) 
     
     ypos = 0.;
-    for(j = 1; j <= 23; ++j) {
+    for (j = 1; j <= 23; ++j) {
       if (j % 2 == 0) xpos = dbox1[0] - dits[0];
       else            xpos = -dbox1[0] + dits[0];
       zpos = ((j - 1) - 11.) * 3.91;
@@ -2671,7 +2657,7 @@ void AliITSv3::CreateGeometry(){
     // --- Place the electronics of the strips into its mother (SSV1) 
     
     ypos = 0.;
-    for(j = 1; j <= 23; ++j) {
+    for (j = 1; j <= 23; ++j) {
       if (j % 2 == 0) xpos = -dsrv[0] + .28;
       else            xpos = -dsrv[0] + .28 - dits[0] * 2. - .03;
       zpos = ((j - 1) - 11.) * 3.91 + .85;
@@ -2699,7 +2685,7 @@ void AliITSv3::CreateGeometry(){
     
     xpos = -dsrv[0] + .47 + TMath::Sqrt(3.) / 6. * 4.2;
     ypos = 0.;
-    for(j = 1; j <= 23; ++j) { // Loop was to 24. Changed to 23 to fit inside
+    for (j = 1; j <= 23; ++j) { // Loop was to 24. Changed to 23 to fit inside
                                 // volume SSV1. This is the same number of
                                 // elements as SCH5 above. Done Bjorn S. Nilsen
                                 // April 4 2000. Error found by Ivana 
@@ -2740,7 +2726,7 @@ void AliITSv3::CreateGeometry(){
     rzero   = dbox1[0] + 40.;
     runo    = dbox1[0] * 2. + 40. + dsrv[0];
     rtwo    = dbox1[0] * 2. + 40. + dela[0];
-    for(i = 1; i <= 35; ++i) {
+    for (i = 1; i <= 35; ++i) {
       atheta = (i-1) * ktwopi * kraddeg / 35. + offset2;
       AliMatrix(idrotm[i+1499], 90., atheta, 90., atheta + 90., 0., 0.);
       
@@ -2922,7 +2908,7 @@ void AliITSv3::CreateGeometry(){
     // --- Place the sensitive part of the strips into its mother (ISV2) 
     
     ypos = 0.;
-    for(j = 1; j <= 26; ++j) {
+    for (j = 1; j <= 26; ++j) {
       if (j % 2 == 0) xpos = dbox2[0] - dits[0];
       else            xpos = -dbox2[0] + dits[0];
       zpos = ((j - 1) - 12.) * 3.91 - 1.96;
@@ -2932,7 +2918,7 @@ void AliITSv3::CreateGeometry(){
     // --- Place the electronics of the strips into its mother (SSV2) 
     
     ypos = 0.;
-    for(j = 1; j <= 26; ++j) {
+    for (j = 1; j <= 26; ++j) {
       if (j % 2 == 0) xpos = -dsrv[0] + .28;
       else            xpos = -dsrv[0] + .28 - dits[0] * 2. - .03;
       zpos = ((j - 1) - 12.) * 3.91 - 1.96 + .85;
@@ -2960,7 +2946,7 @@ void AliITSv3::CreateGeometry(){
     
     xpos = -dsrv[0] + .47 + TMath::Sqrt(3.) / 6. * 4.2;
     ypos = 0.;
-    for(j = 1; j <= 27; ++j) {
+    for (j = 1; j <= 27; ++j) {
       zpos = ((j - 1) - 12.) * 3.91 - 1.96 - 4.2/2.;
       gMC->Gspos("SFR6", j, "SSV2", xpos, ypos, zpos, 0, "ONLY");
     }
@@ -2997,7 +2983,7 @@ void AliITSv3::CreateGeometry(){
     rzero   = dbox2[0] + 45.;
     runo    = dbox2[0] * 2. + 45. + dsrv[0];
     rtwo    = dbox2[0] * 2. + 45. + dela[0];
-    for(i = 1; i <= 39; ++i) {
+    for (i = 1; i <= 39; ++i) {
       atheta = (i-1) * ktwopi * kraddeg / 39. + offset2;
       AliMatrix(idrotm[i+1599], 90., atheta, 90., atheta + 90., 0., 0.);
       
@@ -3211,7 +3197,7 @@ void AliITSv3::CreateGeometry(){
     // --- Place the sensitive part of the strips into its mother (ISV1) 
     
     ypos = 0.;
-    for(j = 1; j <= 22; ++j) {
+    for (j = 1; j <= 22; ++j) {
       if (j % 2 == 0) xpos = dbox1[0] - dits[0];
       else            xpos = -dbox1[0] + dits[0];
       zpos = ((j - 1) - 10.) * 3.91 - 1.96;
@@ -3221,7 +3207,7 @@ void AliITSv3::CreateGeometry(){
     // --- Place the electronics of the strips into its mother (SSV1) 
     
     ypos = 0.;
-    for(j = 1; j <= 22; ++j) {
+    for (j = 1; j <= 22; ++j) {
       if (j % 2 == 0) xpos = -dsrv[0] + .28;
       else            xpos = -dsrv[0] + .28 - dits[0] * 2. - .03;
       zpos = ((j - 1) - 10.) * 3.91 - 1.96 + .85;
@@ -3249,7 +3235,7 @@ void AliITSv3::CreateGeometry(){
     
     xpos = -dsrv[0] + .47 + TMath::Sqrt(3.) / 6. * 4.2;
     ypos = 0.;
-    for(j = 1; j <= 23; ++j) {
+    for (j = 1; j <= 23; ++j) {
       zpos = ((j - 1) - 10.) * 3.91 - 1.96 - 4.2/2.;
       gMC->Gspos("SFR5", j, "SSV1", xpos, ypos, zpos, 0, "ONLY");
     }
@@ -3286,7 +3272,7 @@ void AliITSv3::CreateGeometry(){
     rzero   = dbox1[0] + 36.6;
     runo    = dbox1[0] * 2. + 36.6 + dsrv[0];
     rtwo    = dbox1[0] * 2. + 36.6 + dela[0];
-    for(i = 1; i <= 32; ++i) {
+    for (i = 1; i <= 32; ++i) {
       atheta = (i-1) * ktwopi * kraddeg / 32. + offset2;
       AliMatrix(idrotm[i+1499], 90., atheta, 90., atheta + 90., 0., 0.);
       
@@ -3468,7 +3454,7 @@ void AliITSv3::CreateGeometry(){
     // --- Place the sensitive part of the strips into its mother (ISV2) 
     
     ypos = 0.;
-    for(j = 1; j <= 24; ++j) {
+    for (j = 1; j <= 24; ++j) {
       if (j % 2 == 0) xpos = -dbox2[0] + dits[0];
       else            xpos = dbox2[0] - dits[0];
       zpos = ((j - 1) - 11.) * 3.91 - 1.96;
@@ -3478,7 +3464,7 @@ void AliITSv3::CreateGeometry(){
     // --- Place the electronics of the strips into its mother (SSV2) 
     
     ypos = 0.;
-    for(j = 1; j <= 24; ++j) {
+    for (j = 1; j <= 24; ++j) {
       if (j % 2 == 0) xpos = -dsrv[0] + .28 - dits[0] * 2. - .03;
       else            xpos = -dsrv[0] + .28;
       zpos = ((j - 1) - 11.) * 3.91 - 1.96 + .85;
@@ -3506,7 +3492,7 @@ void AliITSv3::CreateGeometry(){
     
     xpos = -dsrv[0] + .47 + TMath::Sqrt(3.) / 6. * 4.2;
     ypos = 0.;
-    for(j = 1; j <= 25; ++j) {
+    for (j = 1; j <= 25; ++j) {
       zpos = ((j - 1) - 11.) * 3.91 - 1.96 - 4.2/2.;
       gMC->Gspos("SFR6", j, "SSV2", xpos, ypos, zpos, 0, "ONLY");
     }
@@ -3543,7 +3529,7 @@ void AliITSv3::CreateGeometry(){
     rzero   = dbox2[0] + 41.2;
     runo    = dbox2[0] * 2. + 41.2 + dsrv[0];
     rtwo    = dbox2[0] * 2. + 41.2 + dela[0];
-    for(i = 1; i <= 36; ++i) {
+    for (i = 1; i <= 36; ++i) {
       atheta = (i-1) * ktwopi * kraddeg / 36. + offset2;
       AliMatrix(idrotm[i+1599], 90., atheta, 90., atheta + 90., 0., 0.);
       
@@ -3623,7 +3609,7 @@ void AliITSv3::CreateGeometry(){
     dtra1[2] = TMath::Sqrt(dtra[2] * dtra[2] + (55.4*55.4-50.5*50.5))/2.;
     angle    = 45.;
     offset   = angle / 2.;
-    for(i = 0; i < 8; ++i) {
+    for (i = 0; i < 8; ++i) {
       xtra[i] = rzero * TMath::Cos(i * angle * kdegrad);
       ytra[i] = rzero * TMath::Sin(i * angle * kdegrad);
       ztra[i] = 0.;
@@ -3788,7 +3774,7 @@ void AliITSv3::CreateGeometry(){
     dtra1[2] = TMath::Sqrt(dtra[2] * dtra[2] + (55.4*55.4-50.5*50.5))/2.;
     angle    = 45.;
     offset   = angle / 2.;
-    for(i = 0; i < 8; ++i) {
+    for (i = 0; i < 8; ++i) {
       xtra[i] = rzero * TMath::Cos(i * angle * kdegrad);
       ytra[i] = rzero * TMath::Sin(i * angle * kdegrad);
       ztra[i] = 0.;
@@ -3962,7 +3948,7 @@ void AliITSv3::CreateGeometry(){
     dtra4[2] = TMath::Sqrt(dtra2[2] * dtra2[2] + (59.9*59.9-50.*50.)) / 2.;
     angle = 60.;
     offset = angle / 2.;
-    for(i = 0; i < 6; ++i) {
+    for (i = 0; i < 6; ++i) {
       xtra1[i] = rzero * TMath::Cos((i * angle + offset) *kdegrad);
       ytra1[i] = rzero * TMath::Sin((i * angle + offset) *kdegrad);
       ztra1[i] = 0.;
@@ -4195,7 +4181,7 @@ void AliITSv3::CreateGeometry(){
     dtra4[2] = TMath::Sqrt(dtra2[2] * dtra2[2] + (59.9*59.9-50.*50.)) / 2.;
     angle  = 60.;
     offset = angle / 2.;
-    for(i = 0; i < 6; ++i) {
+    for (i = 0; i < 6; ++i) {
       xtra1[i] = rzero * TMath::Cos((i * angle + offset) *kdegrad);
       ytra1[i] = rzero * TMath::Sin((i * angle + offset) *kdegrad);
       ztra1[i] = 0.;
@@ -4922,18 +4908,7 @@ void AliITSv3::Init(){
 ////////////////////////////////////////////////////////////////////////
 //     Initialise the ITS after it has been created.
 ////////////////////////////////////////////////////////////////////////
-    Int_t i,j,l;
 
-    fIdN       = fId3N;;
-    fIdName    = new char*[fIdN];
-    fIdSens    = new Int_t[fIdN];
-    for(i=0;i<fId3N;i++) {
-       l = strlen(fId3Name[i]);
-       fIdName[i] = new char[l+1];
-       for(j=0;j<l;j++) fIdName[i][j] = fId3Name[i][j];
-       fIdName[i][l] = '\0'; // Null terminate this string.
-    } // end for i
-    //
     AliITS::Init();
     fMajorVersion = 3;
     fMinorVersion = fMinorVersionV3;
@@ -5084,24 +5059,17 @@ void AliITSv3::Streamer(TBuffer &R__b){
 // dosen't contain any "real" data to be saved, it doesn't.
 ////////////////////////////////////////////////////////////////////////
 
-    printf("AliITSv3Streamer Starting\n");
    if (R__b.IsReading()) {
       Version_t R__v = R__b.ReadVersion();
       if (R__v==1) {
          AliITS::Streamer(R__b);
-         // This information does not need to be read. It is "hard wired"
-         // into this class via its creators.
-         //R__b >> fId3N;
-         //R__b.ReadArray(fId3Name);
       }else{
+         AliITS::Streamer(R__b);
       } // end if
    } else {
       R__b.WriteVersion(AliITSv3::IsA());
       AliITS::Streamer(R__b);
-      // This information does not need to be saved. It is "hard wired"
-      // into this class via its creators.
-      //R__b << fId3N;
-      //R__b.WriteArray(fId3Name, __COUNTER__);
    } // end if R__b.IsReading()
-    printf("AliITSv3Streamer Finishing\n");
 }
+
+