CbmRoot
CbmMvdDetector.h
Go to the documentation of this file.
1 // -------------------------------------------------------------------------
2 // ----- CbmMvdDetector header file -----
3 // ----- Created 02/12/08 by M. Deveaux -----
4 // -------------------------------------------------------------------------
5 
6 
16 #ifndef CBMMVDDETECTOR_H
17 #define CBMMVDDETECTOR_H 1
18 
19 
21 //#include <vector>
22 
24 #include "TClonesArray.h"
25 #include "TNamed.h"
26 
28 #include "CbmMvdStationPar.h"
29 //#include "CbmMvdDigi.h"
30 #include "tools/CbmMvdHelper.h"
31 
32 class CbmMvdPoint;
34 class CbmMvdSensorPlugin;
35 class CbmMvdSensor;
36 
37 class CbmDigiManager;
38 
39 class CbmMvdDetector : public TNamed {
40 
41 private:
43  CbmMvdDetector(const char* name);
44 
45 public:
49  static CbmMvdDetector* Instance();
50 
51 
53  virtual ~CbmMvdDetector();
54 
56  void SendInput(TClonesArray* input);
57  void SendInputDigis(CbmDigiManager* digiMan);
58  void SendInputDigis(TClonesArray* digis);
59  void SendInputDigisToHits(TClonesArray* digis);
60  void SendInputCluster(TClonesArray* cluster);
61  // void SendClonesArray(TClonesArray* addedStructures, Int_t dataLevel=0){;}
62 
63  TClonesArray* GetOuput() { return 0; }
64  TClonesArray* GetOutputHits();
65  TClonesArray* GetOutputDigis();
66  TClonesArray* GetOutputDigiMatchs();
67  TClonesArray* GetOutputCluster(); //khun
68  TClonesArray* GetOutputArray(Int_t nPlugin);
69  // TClonesArray* GetClonesArray(Int_t dataLevel){ return 0;}
70  Int_t GetSensorArraySize() { return (fSensorArray->GetEntriesFast()); }
71  UInt_t GetPluginArraySize() { return fPluginCount - 1; }
72 
73 
74  TClonesArray* GetCurrentEvent();
77  void AddSensor(TString clearName,
78  TString fullName,
79  TString nodeName,
80  CbmMvdSensorDataSheet* sensorData,
81  Int_t sensorNr,
82  Int_t volumeId,
83  Double_t sensorStartTime,
84  Int_t stationNr);
85  void AddPlugin(CbmMvdSensorPlugin* plugin);
86  void BuildDebugHistograms() { ; };
87  void Init();
88  void SetMisalignment(Float_t misalignment[3]) {
89  for (Int_t i = 0; i < 3; i++)
90  fepsilon[i] = misalignment[i];
91  };
93  fParameter = parameter;
94  };
95  void ShowDebugHistos();
99  void ExecChain(); //Processes the full execution chain
100  void Exec(UInt_t nLevel); //Processes Element nLevel of the chain
101  // void ExecTo(UInt_t nLevel){;}; // Processes Elements to a given Level of Plugins
102  void ExecFrom(
103  UInt_t nLevel); //Preocesses Elements from a given level till the end
104 
107  void Finish();
108  // void StoreDebugHistograms(TString fileName){;}
109 
112  CbmMvdSensor* GetSensor(UInt_t nSensor) {
113  return (CbmMvdSensor*) fSensorArray->At(nSensor);
114  };
116 
117  void SetProduceNoise();
118 
119  static void SetSensorTyp(CbmMvdSensorTyp typ) { fSensorTyp = typ; };
120 
121 private:
123 
124  TClonesArray* fSensorArray;
125  TClonesArray* fSensorIDArray; //Array of Sensor ID
126  UInt_t fPluginCount;
127  TClonesArray* foutput;
128  TClonesArray* foutputHits;
129  TClonesArray* foutputDigis;
130  TClonesArray* foutputCluster; //khun
131  TClonesArray* foutputDigiMatchs;
132  TClonesArray* foutputHitMatchs;
133  TClonesArray* fcurrentEvent;
134  Float_t fepsilon[3];
137  Int_t fDigiPlugin;
138  Int_t fHitPlugin;
140 
141 
144  Bool_t initialized;
145  Bool_t fFinished;
146 
147  TString fName;
148 
150 
151 
154 
156 };
157 
158 #endif
CbmMvdDetector::Instance
static CbmMvdDetector * Instance()
Definition: CbmMvdDetector.cxx:47
CbmMvdDetector::fcurrentEvent
TClonesArray * fcurrentEvent
Definition: CbmMvdDetector.h:133
CbmMvdDetector::Exec
void Exec(UInt_t nLevel)
Definition: CbmMvdDetector.cxx:527
CbmMvdDetector::foutputDigiMatchs
TClonesArray * foutputDigiMatchs
Definition: CbmMvdDetector.h:131
CbmMvdDetector::SendInputDigisToHits
void SendInputDigisToHits(TClonesArray *digis)
Definition: CbmMvdDetector.cxx:438
CbmMvdDetector::CbmMvdDetector
CbmMvdDetector()
Definition: CbmMvdDetector.cxx:62
CbmMvdDetector::GetPluginArraySize
UInt_t GetPluginArraySize()
Definition: CbmMvdDetector.h:71
CbmMvdDetector::GetOutputCluster
TClonesArray * GetOutputCluster()
Definition: CbmMvdDetector.cxx:660
CbmMvdDetector::GetParameterFile
CbmMvdStationPar * GetParameterFile()
Definition: CbmMvdDetector.h:111
CbmMvdDetector::GetSensor
CbmMvdSensor * GetSensor(UInt_t nSensor)
Definition: CbmMvdDetector.h:112
CbmMvdDetector::ExecChain
void ExecChain()
Definition: CbmMvdDetector.cxx:499
CbmMvdSensorPlugin
Definition: CbmMvdSensorPlugin.h:24
CbmMvdDetector::~CbmMvdDetector
virtual ~CbmMvdDetector()
Definition: CbmMvdDetector.cxx:126
CbmMvdDetector::Init
void Init()
Definition: CbmMvdDetector.cxx:278
CbmMvdDetector::Finish
void Finish()
Definition: CbmMvdDetector.cxx:705
CbmMvdDetector::GetOuput
TClonesArray * GetOuput()
Definition: CbmMvdDetector.h:63
i
int i
Definition: L1/vectors/P4_F32vec4.h:25
CbmMvdDetector::SendInput
void SendInput(TClonesArray *input)
Definition: CbmMvdDetector.cxx:338
CbmMvdDetector::operator=
CbmMvdDetector operator=(const CbmMvdDetector &)
CbmMvdDetector::GetOutputDigiMatchs
TClonesArray * GetOutputDigiMatchs()
Definition: CbmMvdDetector.cxx:641
CbmMvdDetector::foutput
TClonesArray * foutput
Definition: CbmMvdDetector.h:127
CbmMvdDetector::GetOutputArray
TClonesArray * GetOutputArray(Int_t nPlugin)
Definition: CbmMvdDetector.cxx:684
CbmMvdDetector::initialized
Bool_t initialized
Definition: CbmMvdDetector.h:144
CbmMvdDetector::ShowDebugHistos
void ShowDebugHistos()
Definition: CbmMvdDetector.cxx:313
CbmMvdDetector::fName
TString fName
Definition: CbmMvdDetector.h:147
CbmMvdDetector::fSensorIDArray
TClonesArray * fSensorIDArray
Definition: CbmMvdDetector.h:125
CbmMvdDetector::GetCurrentEvent
TClonesArray * GetCurrentEvent()
Definition: CbmMvdDetector.cxx:576
CbmMvdDetector::CbmMvdDetector
CbmMvdDetector(const CbmMvdDetector &)
CbmMvdSensor
Definition: CbmMvdSensor.h:40
CbmMvdPoint
Definition: CbmMvdPoint.h:28
CbmMvdDetector::GetOutputHits
TClonesArray * GetOutputHits()
Definition: CbmMvdDetector.cxx:595
CbmMvdDetector::AddSensor
void AddSensor(TString clearName, TString fullName, TString nodeName, CbmMvdSensorDataSheet *sensorData, Int_t sensorNr, Int_t volumeId, Double_t sensorStartTime, Int_t stationNr)
Definition: CbmMvdDetector.cxx:131
CbmMvdDetector::fFinished
Bool_t fFinished
Definition: CbmMvdDetector.h:145
CbmMvdDetector::fHitPlugin
Int_t fHitPlugin
Definition: CbmMvdDetector.h:138
CbmMvdStationPar.h
CbmMvdDetector::SendInputDigis
void SendInputDigis(CbmDigiManager *digiMan)
Definition: CbmMvdDetector.cxx:373
CbmMvdDetector::SetProduceNoise
void SetProduceNoise()
Definition: CbmMvdDetector.cxx:326
CbmDigiManager
CbmDigiManager.
Definition: CbmDigiManager.h:37
CbmMvdDetector::fSensorArray
TClonesArray * fSensorArray
Definition: CbmMvdDetector.h:124
CbmMvdSensorTyp
CbmMvdSensorTyp
Definition: CbmMvdHelper.h:4
CbmMvdDetector::ExecFrom
void ExecFrom(UInt_t nLevel)
Definition: CbmMvdDetector.cxx:552
CbmMvdDetector::foutputCluster
TClonesArray * foutputCluster
Definition: CbmMvdDetector.h:130
CbmMvdDetector::fParameter
CbmMvdStationPar * fParameter
Definition: CbmMvdDetector.h:149
CbmMvdDetector::foutputDigis
TClonesArray * foutputDigis
Definition: CbmMvdDetector.h:129
CbmMvdDetector::fPluginCount
UInt_t fPluginCount
Definition: CbmMvdDetector.h:126
CbmMvdDetector
Definition: CbmMvdDetector.h:39
CbmMvdDetector::PrintParameter
void PrintParameter()
Definition: CbmMvdDetector.h:115
CbmMvdStationPar::Print
void Print(Option_t *opt="") const
Definition: CbmMvdStationPar.cxx:37
CbmMvdDetector::fSensorTyp
static CbmMvdSensorTyp fSensorTyp
Definition: CbmMvdDetector.h:119
CbmMvdDetector::fInstance
static CbmMvdDetector * fInstance
Definition: CbmMvdDetector.h:142
CbmMvdDetector::GetSensorArraySize
Int_t GetSensorArraySize()
Definition: CbmMvdDetector.h:70
CbmMvdDetector::fDigiPlugin
Int_t fDigiPlugin
Definition: CbmMvdDetector.h:137
CbmMvdDetector::SetMisalignment
void SetMisalignment(Float_t misalignment[3])
Definition: CbmMvdDetector.h:88
CbmMvdDetector::fClusterPlugin
Int_t fClusterPlugin
Definition: CbmMvdDetector.h:139
CbmMvdDetector::foutputHits
TClonesArray * foutputHits
Definition: CbmMvdDetector.h:128
CbmMvdStationPar
Definition: CbmMvdStationPar.h:22
CbmMvdDetector::foutputHitMatchs
TClonesArray * foutputHitMatchs
Definition: CbmMvdDetector.h:132
CbmMvdDetector::SetSensorTyp
static void SetSensorTyp(CbmMvdSensorTyp typ)
Definition: CbmMvdDetector.h:119
CbmMvdDetector::SetParameterFile
void SetParameterFile(CbmMvdStationPar *parameter)
Definition: CbmMvdDetector.h:92
CbmMvdDetector::fepsilon
Float_t fepsilon[3]
Definition: CbmMvdDetector.h:134
CbmMvdDetector::fSensorArrayFilled
Bool_t fSensorArrayFilled
Definition: CbmMvdDetector.h:143
CbmMvdDetector::BuildDebugHistograms
void BuildDebugHistograms()
Definition: CbmMvdDetector.h:86
CbmMvdDetector::AddPlugin
void AddPlugin(CbmMvdSensorPlugin *plugin)
Definition: CbmMvdDetector.cxx:186
CbmMvdDetector::SendInputCluster
void SendInputCluster(TClonesArray *cluster)
Definition: CbmMvdDetector.cxx:469
CbmMvdHelper.h
CbmMvdDetector::ClassDef
ClassDef(CbmMvdDetector, 1)
CbmMvdDetector::GetOutputDigis
TClonesArray * GetOutputDigis()
Definition: CbmMvdDetector.cxx:619
CbmMvdSensorDataSheet
Definition: CbmMvdSensorDataSheet.h:22