LCOV - code coverage report
Current view: top level - ITSMFT/MFT/MFTrec - AliMFTCALayer.cxx (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 75 1.3 %
Date: 2016-06-14 17:26:59 Functions: 1 11 9.1 %

          Line data    Source code
       1             : #include "AliMFTCALayer.h"
       2             : 
       3             : #include "AliMFTCALadder.h"
       4             : #include "AliMFTCACell.h"
       5             : #include "AliMFTCAHit.h"
       6             : 
       7          12 : ClassImp(AliMFTCALayer)
       8             : 
       9             : //___________________________________________________________________________
      10             : AliMFTCALayer::AliMFTCALayer() :
      11           0 : TObject(),
      12           0 : fID(-1),
      13           0 : fNhits(0),
      14           0 : fNcells(0),
      15           0 : fNladders(0)
      16           0 : {
      17             :   
      18           0 :   fCells  = new TClonesArray("AliMFTCACell",  1000);
      19           0 :   fHits   = new TClonesArray("AliMFTCAHit",   1000);
      20           0 :   fLadders  = new TClonesArray("AliMFTCALadder",  100);
      21             :   
      22           0 : }
      23             : 
      24             : //___________________________________________________________________________
      25             : AliMFTCALayer::AliMFTCALayer(const AliMFTCALayer &layer) :
      26           0 : TObject(layer),
      27           0 : fID(layer.fID),
      28           0 : fNhits(layer.fNhits),
      29           0 : fNcells(layer.fNcells),
      30           0 : fNladders(layer.fNladders)
      31           0 : {
      32             :   
      33             :   // copy constructor
      34             :   
      35           0 :   fCells  = new TClonesArray("AliMFTCACell",  layer.fNcells);
      36           0 :   fHits   = new TClonesArray("AliMFTCAHit",   layer.fNhits);
      37           0 :   fLadders  = new TClonesArray("AliMFTCALadder",  layer.fNladders);
      38             :   
      39             :   AliMFTCALadder *caLadder;
      40           0 :   for (Int_t i = 0; i < layer.fNladders; i++) {
      41           0 :     caLadder = (AliMFTCALadder*)(layer.fLadders->At(i));
      42           0 :     new ((*fLadders)[i]) AliMFTCALadder(*caLadder);
      43             :   }
      44             :   AliMFTCACell *caCell;
      45           0 :   for (Int_t i = 0; i < layer.fNcells; i++) {
      46           0 :     caCell = (AliMFTCACell*)(layer.fCells->At(i));
      47           0 :     new ((*fCells)[i]) AliMFTCACell(*caCell);
      48             :   }
      49             :   AliMFTCAHit *caHit;
      50           0 :   for (Int_t i = 0; i < layer.fNhits; i++) {
      51           0 :     caHit = (AliMFTCAHit*)(layer.fHits->At(i));
      52           0 :     new ((*fHits)[i]) AliMFTCAHit(*caHit);
      53             :   }
      54             : 
      55           0 : }
      56             : 
      57             : //___________________________________________________________________________
      58             : AliMFTCALayer& AliMFTCALayer::operator=(const AliMFTCALayer& layer) 
      59             : {
      60             : 
      61             :   // assignment operator
      62             : 
      63             :   // check assignement to self
      64           0 :   if (this == &layer) return *this;
      65             : 
      66           0 :   TObject::operator=(layer);
      67             : 
      68           0 :   fID = layer.fID;
      69           0 :   fNhits = layer.fNhits;
      70           0 :   fNcells = layer.fNcells;
      71           0 :   fNladders = layer.fNladders;
      72             : 
      73           0 :   fCells  = new TClonesArray("AliMFTCACell",  layer.fNcells);
      74           0 :   fHits   = new TClonesArray("AliMFTCAHit",   layer.fNhits);
      75           0 :   fLadders  = new TClonesArray("AliMFTCALadder",  layer.fNladders);
      76             :   
      77             :   AliMFTCALadder *caLadder;
      78           0 :   for (Int_t i = 0; i < layer.fNladders; i++) {
      79           0 :     caLadder = (AliMFTCALadder*)(layer.fLadders->At(i));
      80           0 :     new ((*fLadders)[i]) AliMFTCALadder(*caLadder);
      81             :   }
      82             :   AliMFTCACell *caCell;
      83           0 :   for (Int_t i = 0; i < layer.fNcells; i++) {
      84           0 :     caCell = (AliMFTCACell*)(layer.fCells->At(i));
      85           0 :     new ((*fCells)[i]) AliMFTCACell(*caCell);
      86             :   }
      87             :   AliMFTCAHit *caHit;
      88           0 :   for (Int_t i = 0; i < layer.fNhits; i++) {
      89           0 :     caHit = (AliMFTCAHit*)(layer.fHits->At(i));
      90           0 :     new ((*fHits)[i]) AliMFTCAHit(*caHit);
      91             :   }
      92             : 
      93           0 : }
      94             : 
      95             : //___________________________________________________________________________
      96             : void AliMFTCALayer::Clear(const Option_t *) {
      97             :   
      98           0 :   if (fCells) fCells->Clear("C");
      99           0 :   if (fHits)  fHits->Clear("C");
     100             :   
     101           0 :   fNhits  =  0;
     102           0 :   fNcells =  0;
     103             :   
     104           0 : }
     105             : 
     106             : //___________________________________________________________________________
     107             : void AliMFTCALayer::ClearCells()
     108             : {
     109             :   
     110           0 :   if (fCells) fCells->Clear("C");
     111             :   
     112           0 :   fNcells =  0;
     113             :   
     114           0 : }
     115             : 
     116             : //___________________________________________________________________________
     117             : AliMFTCACell *AliMFTCALayer::AddCell()
     118             : {
     119             :   
     120           0 :   new ((*fCells)[fNcells++]) AliMFTCACell();
     121           0 :   AliMFTCACell *cell = (AliMFTCACell*)fCells->At(fCells->GetLast());
     122             :   
     123           0 :   return cell;
     124             :   
     125           0 : }
     126             : 
     127             : //___________________________________________________________________________
     128             : AliMFTCAHit *AliMFTCALayer::AddHit()
     129             : {
     130             :   
     131           0 :   new ((*fHits)[fNhits++]) AliMFTCAHit();
     132           0 :   AliMFTCAHit *hit = (AliMFTCAHit*)fHits->At(fHits->GetLast());
     133             :   
     134           0 :   return hit;
     135             :   
     136           0 : }
     137             : 
     138             : //___________________________________________________________________________
     139             : AliMFTCALadder *AliMFTCALayer::GetLadderID(Int_t id) {
     140             :   
     141             :   AliMFTCALadder *ladder;
     142             :   Int_t i = 0;
     143           0 :   for (; i < fNladders; i++) {
     144           0 :     ladder = (AliMFTCALadder*)fLadders->At(i);
     145           0 :     if (ladder->GetID() == id) break;
     146             :   }
     147           0 :   if (i == fNladders) {
     148           0 :     new ((*fLadders)[fNladders++]) AliMFTCALadder();
     149           0 :     ladder = (AliMFTCALadder*)fLadders->At(fLadders->GetLast());
     150           0 :     ladder->SetID(id);
     151           0 :   }
     152             :   
     153           0 :   return ladder;
     154             :   
     155           0 : }

Generated by: LCOV version 1.11